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

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline const Aws::String& GetAcceptLanguage() const{ return m_acceptLanguage; } /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline bool AcceptLanguageHasBeenSet() const { return m_acceptLanguageHasBeenSet; } /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline void SetAcceptLanguage(const Aws::String& value) { m_acceptLanguageHasBeenSet = true; m_acceptLanguage = value; } /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline void SetAcceptLanguage(Aws::String&& value) { m_acceptLanguageHasBeenSet = true; m_acceptLanguage = std::move(value); } /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline void SetAcceptLanguage(const char* value) { m_acceptLanguageHasBeenSet = true; m_acceptLanguage.assign(value); } /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline UpdateConstraintRequest& WithAcceptLanguage(const Aws::String& value) { SetAcceptLanguage(value); return *this;} /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline UpdateConstraintRequest& WithAcceptLanguage(Aws::String&& value) { SetAcceptLanguage(std::move(value)); return *this;} /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline UpdateConstraintRequest& WithAcceptLanguage(const char* value) { SetAcceptLanguage(value); return *this;} /** *

The identifier of the constraint.

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

The identifier of the constraint.

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

The identifier of the constraint.

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

The identifier of the constraint.

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

The identifier of the constraint.

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

The identifier of the constraint.

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

The identifier of the constraint.

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

The identifier of the constraint.

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

The updated description of the constraint.

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

The updated description of the constraint.

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

The updated description of the constraint.

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

The updated description of the constraint.

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

The updated description of the constraint.

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

The updated description of the constraint.

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

The updated description of the constraint.

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

The updated description of the constraint.

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

The constraint parameters, in JSON format. The syntax depends on the * constraint type as follows:

LAUNCH

You are required to * specify either the RoleArn or the LocalRoleName but * can't use both.

Specify the RoleArn property as follows:

*

{"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}

*

Specify the LocalRoleName property as follows:

* {"LocalRoleName": "SCBasicLaunchRole"}

If you specify the * LocalRoleName property, when an account uses the launch constraint, * the IAM role with that name in the account will be used. This allows launch-role * constraints to be account-agnostic so the administrator can create fewer * resources per shared account.

The given role name must exist in * the account used to create the launch constraint and the account of the user who * launches a product with this launch constraint.

You cannot have * both a LAUNCH and a STACKSET constraint.

You * also cannot have more than one LAUNCH constraint on a product and * portfolio.

NOTIFICATION

Specify the * NotificationArns property as follows:

* {"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]} *

RESOURCE_UPDATE

Specify the * TagUpdatesOnProvisionedProduct property as follows:

* {"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}} *

The TagUpdatesOnProvisionedProduct property accepts a * string value of ALLOWED or NOT_ALLOWED.

*
STACKSET

Specify the Parameters property as * follows:

{"Version": "String", "Properties": {"AccountList": [ * "String" ], "RegionList": [ "String" ], "AdminRole": "String", "ExecutionRole": * "String"}}

You cannot have both a LAUNCH and a * STACKSET constraint.

You also cannot have more than one * STACKSET constraint on a product and portfolio.

Products * with a STACKSET constraint will launch an CloudFormation stack * set.

TEMPLATE

Specify the Rules * property. For more information, see Template * Constraint Rules.

*/ inline const Aws::String& GetParameters() const{ return m_parameters; } /** *

The constraint parameters, in JSON format. The syntax depends on the * constraint type as follows:

LAUNCH

You are required to * specify either the RoleArn or the LocalRoleName but * can't use both.

Specify the RoleArn property as follows:

*

{"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}

*

Specify the LocalRoleName property as follows:

* {"LocalRoleName": "SCBasicLaunchRole"}

If you specify the * LocalRoleName property, when an account uses the launch constraint, * the IAM role with that name in the account will be used. This allows launch-role * constraints to be account-agnostic so the administrator can create fewer * resources per shared account.

The given role name must exist in * the account used to create the launch constraint and the account of the user who * launches a product with this launch constraint.

You cannot have * both a LAUNCH and a STACKSET constraint.

You * also cannot have more than one LAUNCH constraint on a product and * portfolio.

NOTIFICATION

Specify the * NotificationArns property as follows:

* {"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]} *

RESOURCE_UPDATE

Specify the * TagUpdatesOnProvisionedProduct property as follows:

* {"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}} *

The TagUpdatesOnProvisionedProduct property accepts a * string value of ALLOWED or NOT_ALLOWED.

*
STACKSET

Specify the Parameters property as * follows:

{"Version": "String", "Properties": {"AccountList": [ * "String" ], "RegionList": [ "String" ], "AdminRole": "String", "ExecutionRole": * "String"}}

You cannot have both a LAUNCH and a * STACKSET constraint.

You also cannot have more than one * STACKSET constraint on a product and portfolio.

Products * with a STACKSET constraint will launch an CloudFormation stack * set.

TEMPLATE

Specify the Rules * property. For more information, see Template * Constraint Rules.

*/ inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } /** *

The constraint parameters, in JSON format. The syntax depends on the * constraint type as follows:

LAUNCH

You are required to * specify either the RoleArn or the LocalRoleName but * can't use both.

Specify the RoleArn property as follows:

*

{"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}

*

Specify the LocalRoleName property as follows:

* {"LocalRoleName": "SCBasicLaunchRole"}

If you specify the * LocalRoleName property, when an account uses the launch constraint, * the IAM role with that name in the account will be used. This allows launch-role * constraints to be account-agnostic so the administrator can create fewer * resources per shared account.

The given role name must exist in * the account used to create the launch constraint and the account of the user who * launches a product with this launch constraint.

You cannot have * both a LAUNCH and a STACKSET constraint.

You * also cannot have more than one LAUNCH constraint on a product and * portfolio.

NOTIFICATION

Specify the * NotificationArns property as follows:

* {"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]} *

RESOURCE_UPDATE

Specify the * TagUpdatesOnProvisionedProduct property as follows:

* {"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}} *

The TagUpdatesOnProvisionedProduct property accepts a * string value of ALLOWED or NOT_ALLOWED.

*
STACKSET

Specify the Parameters property as * follows:

{"Version": "String", "Properties": {"AccountList": [ * "String" ], "RegionList": [ "String" ], "AdminRole": "String", "ExecutionRole": * "String"}}

You cannot have both a LAUNCH and a * STACKSET constraint.

You also cannot have more than one * STACKSET constraint on a product and portfolio.

Products * with a STACKSET constraint will launch an CloudFormation stack * set.

TEMPLATE

Specify the Rules * property. For more information, see Template * Constraint Rules.

*/ inline void SetParameters(const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters = value; } /** *

The constraint parameters, in JSON format. The syntax depends on the * constraint type as follows:

LAUNCH

You are required to * specify either the RoleArn or the LocalRoleName but * can't use both.

Specify the RoleArn property as follows:

*

{"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}

*

Specify the LocalRoleName property as follows:

* {"LocalRoleName": "SCBasicLaunchRole"}

If you specify the * LocalRoleName property, when an account uses the launch constraint, * the IAM role with that name in the account will be used. This allows launch-role * constraints to be account-agnostic so the administrator can create fewer * resources per shared account.

The given role name must exist in * the account used to create the launch constraint and the account of the user who * launches a product with this launch constraint.

You cannot have * both a LAUNCH and a STACKSET constraint.

You * also cannot have more than one LAUNCH constraint on a product and * portfolio.

NOTIFICATION

Specify the * NotificationArns property as follows:

* {"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]} *

RESOURCE_UPDATE

Specify the * TagUpdatesOnProvisionedProduct property as follows:

* {"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}} *

The TagUpdatesOnProvisionedProduct property accepts a * string value of ALLOWED or NOT_ALLOWED.

*
STACKSET

Specify the Parameters property as * follows:

{"Version": "String", "Properties": {"AccountList": [ * "String" ], "RegionList": [ "String" ], "AdminRole": "String", "ExecutionRole": * "String"}}

You cannot have both a LAUNCH and a * STACKSET constraint.

You also cannot have more than one * STACKSET constraint on a product and portfolio.

Products * with a STACKSET constraint will launch an CloudFormation stack * set.

TEMPLATE

Specify the Rules * property. For more information, see Template * Constraint Rules.

*/ inline void SetParameters(Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); } /** *

The constraint parameters, in JSON format. The syntax depends on the * constraint type as follows:

LAUNCH

You are required to * specify either the RoleArn or the LocalRoleName but * can't use both.

Specify the RoleArn property as follows:

*

{"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}

*

Specify the LocalRoleName property as follows:

* {"LocalRoleName": "SCBasicLaunchRole"}

If you specify the * LocalRoleName property, when an account uses the launch constraint, * the IAM role with that name in the account will be used. This allows launch-role * constraints to be account-agnostic so the administrator can create fewer * resources per shared account.

The given role name must exist in * the account used to create the launch constraint and the account of the user who * launches a product with this launch constraint.

You cannot have * both a LAUNCH and a STACKSET constraint.

You * also cannot have more than one LAUNCH constraint on a product and * portfolio.

NOTIFICATION

Specify the * NotificationArns property as follows:

* {"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]} *

RESOURCE_UPDATE

Specify the * TagUpdatesOnProvisionedProduct property as follows:

* {"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}} *

The TagUpdatesOnProvisionedProduct property accepts a * string value of ALLOWED or NOT_ALLOWED.

*
STACKSET

Specify the Parameters property as * follows:

{"Version": "String", "Properties": {"AccountList": [ * "String" ], "RegionList": [ "String" ], "AdminRole": "String", "ExecutionRole": * "String"}}

You cannot have both a LAUNCH and a * STACKSET constraint.

You also cannot have more than one * STACKSET constraint on a product and portfolio.

Products * with a STACKSET constraint will launch an CloudFormation stack * set.

TEMPLATE

Specify the Rules * property. For more information, see Template * Constraint Rules.

*/ inline void SetParameters(const char* value) { m_parametersHasBeenSet = true; m_parameters.assign(value); } /** *

The constraint parameters, in JSON format. The syntax depends on the * constraint type as follows:

LAUNCH

You are required to * specify either the RoleArn or the LocalRoleName but * can't use both.

Specify the RoleArn property as follows:

*

{"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}

*

Specify the LocalRoleName property as follows:

* {"LocalRoleName": "SCBasicLaunchRole"}

If you specify the * LocalRoleName property, when an account uses the launch constraint, * the IAM role with that name in the account will be used. This allows launch-role * constraints to be account-agnostic so the administrator can create fewer * resources per shared account.

The given role name must exist in * the account used to create the launch constraint and the account of the user who * launches a product with this launch constraint.

You cannot have * both a LAUNCH and a STACKSET constraint.

You * also cannot have more than one LAUNCH constraint on a product and * portfolio.

NOTIFICATION

Specify the * NotificationArns property as follows:

* {"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]} *

RESOURCE_UPDATE

Specify the * TagUpdatesOnProvisionedProduct property as follows:

* {"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}} *

The TagUpdatesOnProvisionedProduct property accepts a * string value of ALLOWED or NOT_ALLOWED.

*
STACKSET

Specify the Parameters property as * follows:

{"Version": "String", "Properties": {"AccountList": [ * "String" ], "RegionList": [ "String" ], "AdminRole": "String", "ExecutionRole": * "String"}}

You cannot have both a LAUNCH and a * STACKSET constraint.

You also cannot have more than one * STACKSET constraint on a product and portfolio.

Products * with a STACKSET constraint will launch an CloudFormation stack * set.

TEMPLATE

Specify the Rules * property. For more information, see Template * Constraint Rules.

*/ inline UpdateConstraintRequest& WithParameters(const Aws::String& value) { SetParameters(value); return *this;} /** *

The constraint parameters, in JSON format. The syntax depends on the * constraint type as follows:

LAUNCH

You are required to * specify either the RoleArn or the LocalRoleName but * can't use both.

Specify the RoleArn property as follows:

*

{"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}

*

Specify the LocalRoleName property as follows:

* {"LocalRoleName": "SCBasicLaunchRole"}

If you specify the * LocalRoleName property, when an account uses the launch constraint, * the IAM role with that name in the account will be used. This allows launch-role * constraints to be account-agnostic so the administrator can create fewer * resources per shared account.

The given role name must exist in * the account used to create the launch constraint and the account of the user who * launches a product with this launch constraint.

You cannot have * both a LAUNCH and a STACKSET constraint.

You * also cannot have more than one LAUNCH constraint on a product and * portfolio.

NOTIFICATION

Specify the * NotificationArns property as follows:

* {"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]} *

RESOURCE_UPDATE

Specify the * TagUpdatesOnProvisionedProduct property as follows:

* {"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}} *

The TagUpdatesOnProvisionedProduct property accepts a * string value of ALLOWED or NOT_ALLOWED.

*
STACKSET

Specify the Parameters property as * follows:

{"Version": "String", "Properties": {"AccountList": [ * "String" ], "RegionList": [ "String" ], "AdminRole": "String", "ExecutionRole": * "String"}}

You cannot have both a LAUNCH and a * STACKSET constraint.

You also cannot have more than one * STACKSET constraint on a product and portfolio.

Products * with a STACKSET constraint will launch an CloudFormation stack * set.

TEMPLATE

Specify the Rules * property. For more information, see Template * Constraint Rules.

*/ inline UpdateConstraintRequest& WithParameters(Aws::String&& value) { SetParameters(std::move(value)); return *this;} /** *

The constraint parameters, in JSON format. The syntax depends on the * constraint type as follows:

LAUNCH

You are required to * specify either the RoleArn or the LocalRoleName but * can't use both.

Specify the RoleArn property as follows:

*

{"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}

*

Specify the LocalRoleName property as follows:

* {"LocalRoleName": "SCBasicLaunchRole"}

If you specify the * LocalRoleName property, when an account uses the launch constraint, * the IAM role with that name in the account will be used. This allows launch-role * constraints to be account-agnostic so the administrator can create fewer * resources per shared account.

The given role name must exist in * the account used to create the launch constraint and the account of the user who * launches a product with this launch constraint.

You cannot have * both a LAUNCH and a STACKSET constraint.

You * also cannot have more than one LAUNCH constraint on a product and * portfolio.

NOTIFICATION

Specify the * NotificationArns property as follows:

* {"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]} *

RESOURCE_UPDATE

Specify the * TagUpdatesOnProvisionedProduct property as follows:

* {"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}} *

The TagUpdatesOnProvisionedProduct property accepts a * string value of ALLOWED or NOT_ALLOWED.

*
STACKSET

Specify the Parameters property as * follows:

{"Version": "String", "Properties": {"AccountList": [ * "String" ], "RegionList": [ "String" ], "AdminRole": "String", "ExecutionRole": * "String"}}

You cannot have both a LAUNCH and a * STACKSET constraint.

You also cannot have more than one * STACKSET constraint on a product and portfolio.

Products * with a STACKSET constraint will launch an CloudFormation stack * set.

TEMPLATE

Specify the Rules * property. For more information, see Template * Constraint Rules.

*/ inline UpdateConstraintRequest& WithParameters(const char* value) { SetParameters(value); return *this;} private: Aws::String m_acceptLanguage; bool m_acceptLanguageHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_parameters; bool m_parametersHasBeenSet = false; }; } // namespace Model } // namespace ServiceCatalog } // namespace Aws