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

The Amazon Resource Name (ARN) of the application.

*/ inline const Aws::String& GetApplicationId() const{ return m_applicationId; } /** *

The Amazon Resource Name (ARN) of the application.

*/ inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the application.

*/ inline void SetApplicationId(const Aws::String& value) { m_applicationIdHasBeenSet = true; m_applicationId = value; } /** *

The Amazon Resource Name (ARN) of the application.

*/ inline void SetApplicationId(Aws::String&& value) { m_applicationIdHasBeenSet = true; m_applicationId = std::move(value); } /** *

The Amazon Resource Name (ARN) of the application.

*/ inline void SetApplicationId(const char* value) { m_applicationIdHasBeenSet = true; m_applicationId.assign(value); } /** *

The Amazon Resource Name (ARN) of the application.

*/ inline CreateCloudFormationChangeSetRequest& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;} /** *

The Amazon Resource Name (ARN) of the application.

*/ inline CreateCloudFormationChangeSetRequest& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the application.

*/ inline CreateCloudFormationChangeSetRequest& WithApplicationId(const char* value) { SetApplicationId(value); return *this;} /** *

A list of values that you must specify before you can deploy certain * applications. Some applications might include resources that can affect * permissions in your AWS account, for example, by creating new AWS Identity and * Access Management (IAM) users. For those applications, you must explicitly * acknowledge their capabilities by specifying this parameter.

The only * valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, * CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following * resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: AWS::IAM::Group, * AWS::IAM::InstanceProfile, * AWS::IAM::Policy, * and AWS::IAM::Role. * If the application contains IAM resources, you can specify either * CAPABILITY_IAM or CAPABILITY_NAMED_IAM. If the application contains IAM * resources with custom names, you must specify CAPABILITY_NAMED_IAM.

The * following resources require you to specify CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission, * AWS::IAM:Policy, * AWS::ApplicationAutoScaling::ScalingPolicy, * AWS::S3::BucketPolicy, * AWS::SQS::QueuePolicy, * and AWS::SNS:TopicPolicy.

Applications * that contain one or more nested applications require you to specify * CAPABILITY_AUTO_EXPAND.

If your application template contains any of the * above resources, we recommend that you review all permissions associated with * the application before deploying. If you don't specify this parameter for an * application that requires capabilities, the call will fail.

*/ inline const Aws::Vector& GetCapabilities() const{ return m_capabilities; } /** *

A list of values that you must specify before you can deploy certain * applications. Some applications might include resources that can affect * permissions in your AWS account, for example, by creating new AWS Identity and * Access Management (IAM) users. For those applications, you must explicitly * acknowledge their capabilities by specifying this parameter.

The only * valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, * CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following * resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: AWS::IAM::Group, * AWS::IAM::InstanceProfile, * AWS::IAM::Policy, * and AWS::IAM::Role. * If the application contains IAM resources, you can specify either * CAPABILITY_IAM or CAPABILITY_NAMED_IAM. If the application contains IAM * resources with custom names, you must specify CAPABILITY_NAMED_IAM.

The * following resources require you to specify CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission, * AWS::IAM:Policy, * AWS::ApplicationAutoScaling::ScalingPolicy, * AWS::S3::BucketPolicy, * AWS::SQS::QueuePolicy, * and AWS::SNS:TopicPolicy.

Applications * that contain one or more nested applications require you to specify * CAPABILITY_AUTO_EXPAND.

If your application template contains any of the * above resources, we recommend that you review all permissions associated with * the application before deploying. If you don't specify this parameter for an * application that requires capabilities, the call will fail.

*/ inline bool CapabilitiesHasBeenSet() const { return m_capabilitiesHasBeenSet; } /** *

A list of values that you must specify before you can deploy certain * applications. Some applications might include resources that can affect * permissions in your AWS account, for example, by creating new AWS Identity and * Access Management (IAM) users. For those applications, you must explicitly * acknowledge their capabilities by specifying this parameter.

The only * valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, * CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following * resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: AWS::IAM::Group, * AWS::IAM::InstanceProfile, * AWS::IAM::Policy, * and AWS::IAM::Role. * If the application contains IAM resources, you can specify either * CAPABILITY_IAM or CAPABILITY_NAMED_IAM. If the application contains IAM * resources with custom names, you must specify CAPABILITY_NAMED_IAM.

The * following resources require you to specify CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission, * AWS::IAM:Policy, * AWS::ApplicationAutoScaling::ScalingPolicy, * AWS::S3::BucketPolicy, * AWS::SQS::QueuePolicy, * and AWS::SNS:TopicPolicy.

Applications * that contain one or more nested applications require you to specify * CAPABILITY_AUTO_EXPAND.

If your application template contains any of the * above resources, we recommend that you review all permissions associated with * the application before deploying. If you don't specify this parameter for an * application that requires capabilities, the call will fail.

*/ inline void SetCapabilities(const Aws::Vector& value) { m_capabilitiesHasBeenSet = true; m_capabilities = value; } /** *

A list of values that you must specify before you can deploy certain * applications. Some applications might include resources that can affect * permissions in your AWS account, for example, by creating new AWS Identity and * Access Management (IAM) users. For those applications, you must explicitly * acknowledge their capabilities by specifying this parameter.

The only * valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, * CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following * resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: AWS::IAM::Group, * AWS::IAM::InstanceProfile, * AWS::IAM::Policy, * and AWS::IAM::Role. * If the application contains IAM resources, you can specify either * CAPABILITY_IAM or CAPABILITY_NAMED_IAM. If the application contains IAM * resources with custom names, you must specify CAPABILITY_NAMED_IAM.

The * following resources require you to specify CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission, * AWS::IAM:Policy, * AWS::ApplicationAutoScaling::ScalingPolicy, * AWS::S3::BucketPolicy, * AWS::SQS::QueuePolicy, * and AWS::SNS:TopicPolicy.

Applications * that contain one or more nested applications require you to specify * CAPABILITY_AUTO_EXPAND.

If your application template contains any of the * above resources, we recommend that you review all permissions associated with * the application before deploying. If you don't specify this parameter for an * application that requires capabilities, the call will fail.

*/ inline void SetCapabilities(Aws::Vector&& value) { m_capabilitiesHasBeenSet = true; m_capabilities = std::move(value); } /** *

A list of values that you must specify before you can deploy certain * applications. Some applications might include resources that can affect * permissions in your AWS account, for example, by creating new AWS Identity and * Access Management (IAM) users. For those applications, you must explicitly * acknowledge their capabilities by specifying this parameter.

The only * valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, * CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following * resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: AWS::IAM::Group, * AWS::IAM::InstanceProfile, * AWS::IAM::Policy, * and AWS::IAM::Role. * If the application contains IAM resources, you can specify either * CAPABILITY_IAM or CAPABILITY_NAMED_IAM. If the application contains IAM * resources with custom names, you must specify CAPABILITY_NAMED_IAM.

The * following resources require you to specify CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission, * AWS::IAM:Policy, * AWS::ApplicationAutoScaling::ScalingPolicy, * AWS::S3::BucketPolicy, * AWS::SQS::QueuePolicy, * and AWS::SNS:TopicPolicy.

Applications * that contain one or more nested applications require you to specify * CAPABILITY_AUTO_EXPAND.

If your application template contains any of the * above resources, we recommend that you review all permissions associated with * the application before deploying. If you don't specify this parameter for an * application that requires capabilities, the call will fail.

*/ inline CreateCloudFormationChangeSetRequest& WithCapabilities(const Aws::Vector& value) { SetCapabilities(value); return *this;} /** *

A list of values that you must specify before you can deploy certain * applications. Some applications might include resources that can affect * permissions in your AWS account, for example, by creating new AWS Identity and * Access Management (IAM) users. For those applications, you must explicitly * acknowledge their capabilities by specifying this parameter.

The only * valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, * CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following * resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: AWS::IAM::Group, * AWS::IAM::InstanceProfile, * AWS::IAM::Policy, * and AWS::IAM::Role. * If the application contains IAM resources, you can specify either * CAPABILITY_IAM or CAPABILITY_NAMED_IAM. If the application contains IAM * resources with custom names, you must specify CAPABILITY_NAMED_IAM.

The * following resources require you to specify CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission, * AWS::IAM:Policy, * AWS::ApplicationAutoScaling::ScalingPolicy, * AWS::S3::BucketPolicy, * AWS::SQS::QueuePolicy, * and AWS::SNS:TopicPolicy.

Applications * that contain one or more nested applications require you to specify * CAPABILITY_AUTO_EXPAND.

If your application template contains any of the * above resources, we recommend that you review all permissions associated with * the application before deploying. If you don't specify this parameter for an * application that requires capabilities, the call will fail.

*/ inline CreateCloudFormationChangeSetRequest& WithCapabilities(Aws::Vector&& value) { SetCapabilities(std::move(value)); return *this;} /** *

A list of values that you must specify before you can deploy certain * applications. Some applications might include resources that can affect * permissions in your AWS account, for example, by creating new AWS Identity and * Access Management (IAM) users. For those applications, you must explicitly * acknowledge their capabilities by specifying this parameter.

The only * valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, * CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following * resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: AWS::IAM::Group, * AWS::IAM::InstanceProfile, * AWS::IAM::Policy, * and AWS::IAM::Role. * If the application contains IAM resources, you can specify either * CAPABILITY_IAM or CAPABILITY_NAMED_IAM. If the application contains IAM * resources with custom names, you must specify CAPABILITY_NAMED_IAM.

The * following resources require you to specify CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission, * AWS::IAM:Policy, * AWS::ApplicationAutoScaling::ScalingPolicy, * AWS::S3::BucketPolicy, * AWS::SQS::QueuePolicy, * and AWS::SNS:TopicPolicy.

Applications * that contain one or more nested applications require you to specify * CAPABILITY_AUTO_EXPAND.

If your application template contains any of the * above resources, we recommend that you review all permissions associated with * the application before deploying. If you don't specify this parameter for an * application that requires capabilities, the call will fail.

*/ inline CreateCloudFormationChangeSetRequest& AddCapabilities(const Aws::String& value) { m_capabilitiesHasBeenSet = true; m_capabilities.push_back(value); return *this; } /** *

A list of values that you must specify before you can deploy certain * applications. Some applications might include resources that can affect * permissions in your AWS account, for example, by creating new AWS Identity and * Access Management (IAM) users. For those applications, you must explicitly * acknowledge their capabilities by specifying this parameter.

The only * valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, * CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following * resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: AWS::IAM::Group, * AWS::IAM::InstanceProfile, * AWS::IAM::Policy, * and AWS::IAM::Role. * If the application contains IAM resources, you can specify either * CAPABILITY_IAM or CAPABILITY_NAMED_IAM. If the application contains IAM * resources with custom names, you must specify CAPABILITY_NAMED_IAM.

The * following resources require you to specify CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission, * AWS::IAM:Policy, * AWS::ApplicationAutoScaling::ScalingPolicy, * AWS::S3::BucketPolicy, * AWS::SQS::QueuePolicy, * and AWS::SNS:TopicPolicy.

Applications * that contain one or more nested applications require you to specify * CAPABILITY_AUTO_EXPAND.

If your application template contains any of the * above resources, we recommend that you review all permissions associated with * the application before deploying. If you don't specify this parameter for an * application that requires capabilities, the call will fail.

*/ inline CreateCloudFormationChangeSetRequest& AddCapabilities(Aws::String&& value) { m_capabilitiesHasBeenSet = true; m_capabilities.push_back(std::move(value)); return *this; } /** *

A list of values that you must specify before you can deploy certain * applications. Some applications might include resources that can affect * permissions in your AWS account, for example, by creating new AWS Identity and * Access Management (IAM) users. For those applications, you must explicitly * acknowledge their capabilities by specifying this parameter.

The only * valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, * CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following * resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: AWS::IAM::Group, * AWS::IAM::InstanceProfile, * AWS::IAM::Policy, * and AWS::IAM::Role. * If the application contains IAM resources, you can specify either * CAPABILITY_IAM or CAPABILITY_NAMED_IAM. If the application contains IAM * resources with custom names, you must specify CAPABILITY_NAMED_IAM.

The * following resources require you to specify CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission, * AWS::IAM:Policy, * AWS::ApplicationAutoScaling::ScalingPolicy, * AWS::S3::BucketPolicy, * AWS::SQS::QueuePolicy, * and AWS::SNS:TopicPolicy.

Applications * that contain one or more nested applications require you to specify * CAPABILITY_AUTO_EXPAND.

If your application template contains any of the * above resources, we recommend that you review all permissions associated with * the application before deploying. If you don't specify this parameter for an * application that requires capabilities, the call will fail.

*/ inline CreateCloudFormationChangeSetRequest& AddCapabilities(const char* value) { m_capabilitiesHasBeenSet = true; m_capabilities.push_back(value); return *this; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline const Aws::String& GetChangeSetName() const{ return m_changeSetName; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline bool ChangeSetNameHasBeenSet() const { return m_changeSetNameHasBeenSet; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline void SetChangeSetName(const Aws::String& value) { m_changeSetNameHasBeenSet = true; m_changeSetName = value; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline void SetChangeSetName(Aws::String&& value) { m_changeSetNameHasBeenSet = true; m_changeSetName = std::move(value); } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline void SetChangeSetName(const char* value) { m_changeSetNameHasBeenSet = true; m_changeSetName.assign(value); } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& WithChangeSetName(const Aws::String& value) { SetChangeSetName(value); return *this;} /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& WithChangeSetName(Aws::String&& value) { SetChangeSetName(std::move(value)); return *this;} /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& WithChangeSetName(const char* value) { SetChangeSetName(value); return *this;} /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

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

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

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

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

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

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

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

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

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

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

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

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

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

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

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

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline const Aws::Vector& GetNotificationArns() const{ return m_notificationArns; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline bool NotificationArnsHasBeenSet() const { return m_notificationArnsHasBeenSet; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline void SetNotificationArns(const Aws::Vector& value) { m_notificationArnsHasBeenSet = true; m_notificationArns = value; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline void SetNotificationArns(Aws::Vector&& value) { m_notificationArnsHasBeenSet = true; m_notificationArns = std::move(value); } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& WithNotificationArns(const Aws::Vector& value) { SetNotificationArns(value); return *this;} /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& WithNotificationArns(Aws::Vector&& value) { SetNotificationArns(std::move(value)); return *this;} /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& AddNotificationArns(const Aws::String& value) { m_notificationArnsHasBeenSet = true; m_notificationArns.push_back(value); return *this; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& AddNotificationArns(Aws::String&& value) { m_notificationArnsHasBeenSet = true; m_notificationArns.push_back(std::move(value)); return *this; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& AddNotificationArns(const char* value) { m_notificationArnsHasBeenSet = true; m_notificationArns.push_back(value); return *this; } /** *

A list of parameter values for the parameters of the application.

*/ inline const Aws::Vector& GetParameterOverrides() const{ return m_parameterOverrides; } /** *

A list of parameter values for the parameters of the application.

*/ inline bool ParameterOverridesHasBeenSet() const { return m_parameterOverridesHasBeenSet; } /** *

A list of parameter values for the parameters of the application.

*/ inline void SetParameterOverrides(const Aws::Vector& value) { m_parameterOverridesHasBeenSet = true; m_parameterOverrides = value; } /** *

A list of parameter values for the parameters of the application.

*/ inline void SetParameterOverrides(Aws::Vector&& value) { m_parameterOverridesHasBeenSet = true; m_parameterOverrides = std::move(value); } /** *

A list of parameter values for the parameters of the application.

*/ inline CreateCloudFormationChangeSetRequest& WithParameterOverrides(const Aws::Vector& value) { SetParameterOverrides(value); return *this;} /** *

A list of parameter values for the parameters of the application.

*/ inline CreateCloudFormationChangeSetRequest& WithParameterOverrides(Aws::Vector&& value) { SetParameterOverrides(std::move(value)); return *this;} /** *

A list of parameter values for the parameters of the application.

*/ inline CreateCloudFormationChangeSetRequest& AddParameterOverrides(const ParameterValue& value) { m_parameterOverridesHasBeenSet = true; m_parameterOverrides.push_back(value); return *this; } /** *

A list of parameter values for the parameters of the application.

*/ inline CreateCloudFormationChangeSetRequest& AddParameterOverrides(ParameterValue&& value) { m_parameterOverridesHasBeenSet = true; m_parameterOverrides.push_back(std::move(value)); return *this; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline const Aws::Vector& GetResourceTypes() const{ return m_resourceTypes; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline bool ResourceTypesHasBeenSet() const { return m_resourceTypesHasBeenSet; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline void SetResourceTypes(const Aws::Vector& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes = value; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline void SetResourceTypes(Aws::Vector&& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes = std::move(value); } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& WithResourceTypes(const Aws::Vector& value) { SetResourceTypes(value); return *this;} /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& WithResourceTypes(Aws::Vector&& value) { SetResourceTypes(std::move(value)); return *this;} /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& AddResourceTypes(const Aws::String& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes.push_back(value); return *this; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& AddResourceTypes(Aws::String&& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes.push_back(std::move(value)); return *this; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& AddResourceTypes(const char* value) { m_resourceTypesHasBeenSet = true; m_resourceTypes.push_back(value); return *this; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline const RollbackConfiguration& GetRollbackConfiguration() const{ return m_rollbackConfiguration; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline bool RollbackConfigurationHasBeenSet() const { return m_rollbackConfigurationHasBeenSet; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline void SetRollbackConfiguration(const RollbackConfiguration& value) { m_rollbackConfigurationHasBeenSet = true; m_rollbackConfiguration = value; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline void SetRollbackConfiguration(RollbackConfiguration&& value) { m_rollbackConfigurationHasBeenSet = true; m_rollbackConfiguration = std::move(value); } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& WithRollbackConfiguration(const RollbackConfiguration& value) { SetRollbackConfiguration(value); return *this;} /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& WithRollbackConfiguration(RollbackConfiguration&& value) { SetRollbackConfiguration(std::move(value)); return *this;} /** *

The semantic version of the application:

https://semver.org/

*/ inline const Aws::String& GetSemanticVersion() const{ return m_semanticVersion; } /** *

The semantic version of the application:

https://semver.org/

*/ inline bool SemanticVersionHasBeenSet() const { return m_semanticVersionHasBeenSet; } /** *

The semantic version of the application:

https://semver.org/

*/ inline void SetSemanticVersion(const Aws::String& value) { m_semanticVersionHasBeenSet = true; m_semanticVersion = value; } /** *

The semantic version of the application:

https://semver.org/

*/ inline void SetSemanticVersion(Aws::String&& value) { m_semanticVersionHasBeenSet = true; m_semanticVersion = std::move(value); } /** *

The semantic version of the application:

https://semver.org/

*/ inline void SetSemanticVersion(const char* value) { m_semanticVersionHasBeenSet = true; m_semanticVersion.assign(value); } /** *

The semantic version of the application:

https://semver.org/

*/ inline CreateCloudFormationChangeSetRequest& WithSemanticVersion(const Aws::String& value) { SetSemanticVersion(value); return *this;} /** *

The semantic version of the application:

https://semver.org/

*/ inline CreateCloudFormationChangeSetRequest& WithSemanticVersion(Aws::String&& value) { SetSemanticVersion(std::move(value)); return *this;} /** *

The semantic version of the application:

https://semver.org/

*/ inline CreateCloudFormationChangeSetRequest& WithSemanticVersion(const char* value) { SetSemanticVersion(value); return *this;} /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline const Aws::String& GetStackName() const{ return m_stackName; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline bool StackNameHasBeenSet() const { return m_stackNameHasBeenSet; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline void SetStackName(const Aws::String& value) { m_stackNameHasBeenSet = true; m_stackName = value; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline void SetStackName(Aws::String&& value) { m_stackNameHasBeenSet = true; m_stackName = std::move(value); } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline void SetStackName(const char* value) { m_stackNameHasBeenSet = true; m_stackName.assign(value); } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& WithStackName(const Aws::String& value) { SetStackName(value); return *this;} /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& WithStackName(Aws::String&& value) { SetStackName(std::move(value)); return *this;} /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& WithStackName(const char* value) { SetStackName(value); return *this;} /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

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

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

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

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

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

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

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

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

This property corresponds to the parameter of the same name for the AWS * CloudFormation CreateChangeSet * API.

*/ inline CreateCloudFormationChangeSetRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The UUID returned by CreateCloudFormationTemplate.

Pattern: * [0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}

*/ inline const Aws::String& GetTemplateId() const{ return m_templateId; } /** *

The UUID returned by CreateCloudFormationTemplate.

Pattern: * [0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}

*/ inline bool TemplateIdHasBeenSet() const { return m_templateIdHasBeenSet; } /** *

The UUID returned by CreateCloudFormationTemplate.

Pattern: * [0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}

*/ inline void SetTemplateId(const Aws::String& value) { m_templateIdHasBeenSet = true; m_templateId = value; } /** *

The UUID returned by CreateCloudFormationTemplate.

Pattern: * [0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}

*/ inline void SetTemplateId(Aws::String&& value) { m_templateIdHasBeenSet = true; m_templateId = std::move(value); } /** *

The UUID returned by CreateCloudFormationTemplate.

Pattern: * [0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}

*/ inline void SetTemplateId(const char* value) { m_templateIdHasBeenSet = true; m_templateId.assign(value); } /** *

The UUID returned by CreateCloudFormationTemplate.

Pattern: * [0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}

*/ inline CreateCloudFormationChangeSetRequest& WithTemplateId(const Aws::String& value) { SetTemplateId(value); return *this;} /** *

The UUID returned by CreateCloudFormationTemplate.

Pattern: * [0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}

*/ inline CreateCloudFormationChangeSetRequest& WithTemplateId(Aws::String&& value) { SetTemplateId(std::move(value)); return *this;} /** *

The UUID returned by CreateCloudFormationTemplate.

Pattern: * [0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}

*/ inline CreateCloudFormationChangeSetRequest& WithTemplateId(const char* value) { SetTemplateId(value); return *this;} private: Aws::String m_applicationId; bool m_applicationIdHasBeenSet = false; Aws::Vector m_capabilities; bool m_capabilitiesHasBeenSet = false; Aws::String m_changeSetName; bool m_changeSetNameHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Vector m_notificationArns; bool m_notificationArnsHasBeenSet = false; Aws::Vector m_parameterOverrides; bool m_parameterOverridesHasBeenSet = false; Aws::Vector m_resourceTypes; bool m_resourceTypesHasBeenSet = false; RollbackConfiguration m_rollbackConfiguration; bool m_rollbackConfigurationHasBeenSet = false; Aws::String m_semanticVersion; bool m_semanticVersionHasBeenSet = false; Aws::String m_stackName; bool m_stackNameHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::String m_templateId; bool m_templateIdHasBeenSet = false; }; } // namespace Model } // namespace ServerlessApplicationRepository } // namespace Aws