/** * 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 ResilienceHub { namespace Model { /** */ class AddDraftAppVersionResourceMappingsRequest : public ResilienceHubRequest { public: AWS_RESILIENCEHUB_API AddDraftAppVersionResourceMappingsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "AddDraftAppVersionResourceMappings"; } AWS_RESILIENCEHUB_API Aws::String SerializePayload() const override; /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline const Aws::String& GetAppArn() const{ return m_appArn; } /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline bool AppArnHasBeenSet() const { return m_appArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline void SetAppArn(const Aws::String& value) { m_appArnHasBeenSet = true; m_appArn = value; } /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline void SetAppArn(Aws::String&& value) { m_appArnHasBeenSet = true; m_appArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline void SetAppArn(const char* value) { m_appArnHasBeenSet = true; m_appArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline AddDraftAppVersionResourceMappingsRequest& WithAppArn(const Aws::String& value) { SetAppArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline AddDraftAppVersionResourceMappingsRequest& WithAppArn(Aws::String&& value) { SetAppArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline AddDraftAppVersionResourceMappingsRequest& WithAppArn(const char* value) { SetAppArn(value); return *this;} /** *

Mappings used to map logical resources from the template to physical * resources. You can use the mapping type CFN_STACK if the * application template uses a logical stack name. Or you can map individual * resources by using the mapping type RESOURCE. We recommend using * the mapping type CFN_STACK if the application is backed by a * CloudFormation stack.

*/ inline const Aws::Vector& GetResourceMappings() const{ return m_resourceMappings; } /** *

Mappings used to map logical resources from the template to physical * resources. You can use the mapping type CFN_STACK if the * application template uses a logical stack name. Or you can map individual * resources by using the mapping type RESOURCE. We recommend using * the mapping type CFN_STACK if the application is backed by a * CloudFormation stack.

*/ inline bool ResourceMappingsHasBeenSet() const { return m_resourceMappingsHasBeenSet; } /** *

Mappings used to map logical resources from the template to physical * resources. You can use the mapping type CFN_STACK if the * application template uses a logical stack name. Or you can map individual * resources by using the mapping type RESOURCE. We recommend using * the mapping type CFN_STACK if the application is backed by a * CloudFormation stack.

*/ inline void SetResourceMappings(const Aws::Vector& value) { m_resourceMappingsHasBeenSet = true; m_resourceMappings = value; } /** *

Mappings used to map logical resources from the template to physical * resources. You can use the mapping type CFN_STACK if the * application template uses a logical stack name. Or you can map individual * resources by using the mapping type RESOURCE. We recommend using * the mapping type CFN_STACK if the application is backed by a * CloudFormation stack.

*/ inline void SetResourceMappings(Aws::Vector&& value) { m_resourceMappingsHasBeenSet = true; m_resourceMappings = std::move(value); } /** *

Mappings used to map logical resources from the template to physical * resources. You can use the mapping type CFN_STACK if the * application template uses a logical stack name. Or you can map individual * resources by using the mapping type RESOURCE. We recommend using * the mapping type CFN_STACK if the application is backed by a * CloudFormation stack.

*/ inline AddDraftAppVersionResourceMappingsRequest& WithResourceMappings(const Aws::Vector& value) { SetResourceMappings(value); return *this;} /** *

Mappings used to map logical resources from the template to physical * resources. You can use the mapping type CFN_STACK if the * application template uses a logical stack name. Or you can map individual * resources by using the mapping type RESOURCE. We recommend using * the mapping type CFN_STACK if the application is backed by a * CloudFormation stack.

*/ inline AddDraftAppVersionResourceMappingsRequest& WithResourceMappings(Aws::Vector&& value) { SetResourceMappings(std::move(value)); return *this;} /** *

Mappings used to map logical resources from the template to physical * resources. You can use the mapping type CFN_STACK if the * application template uses a logical stack name. Or you can map individual * resources by using the mapping type RESOURCE. We recommend using * the mapping type CFN_STACK if the application is backed by a * CloudFormation stack.

*/ inline AddDraftAppVersionResourceMappingsRequest& AddResourceMappings(const ResourceMapping& value) { m_resourceMappingsHasBeenSet = true; m_resourceMappings.push_back(value); return *this; } /** *

Mappings used to map logical resources from the template to physical * resources. You can use the mapping type CFN_STACK if the * application template uses a logical stack name. Or you can map individual * resources by using the mapping type RESOURCE. We recommend using * the mapping type CFN_STACK if the application is backed by a * CloudFormation stack.

*/ inline AddDraftAppVersionResourceMappingsRequest& AddResourceMappings(ResourceMapping&& value) { m_resourceMappingsHasBeenSet = true; m_resourceMappings.push_back(std::move(value)); return *this; } private: Aws::String m_appArn; bool m_appArnHasBeenSet = false; Aws::Vector m_resourceMappings; bool m_resourceMappingsHasBeenSet = false; }; } // namespace Model } // namespace ResilienceHub } // namespace Aws