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

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

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

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

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

The portfolio identifier.

*/ inline const Aws::String& GetPortfolioId() const{ return m_portfolioId; } /** *

The portfolio identifier.

*/ inline bool PortfolioIdHasBeenSet() const { return m_portfolioIdHasBeenSet; } /** *

The portfolio identifier.

*/ inline void SetPortfolioId(const Aws::String& value) { m_portfolioIdHasBeenSet = true; m_portfolioId = value; } /** *

The portfolio identifier.

*/ inline void SetPortfolioId(Aws::String&& value) { m_portfolioIdHasBeenSet = true; m_portfolioId = std::move(value); } /** *

The portfolio identifier.

*/ inline void SetPortfolioId(const char* value) { m_portfolioIdHasBeenSet = true; m_portfolioId.assign(value); } /** *

The portfolio identifier.

*/ inline CreateConstraintRequest& WithPortfolioId(const Aws::String& value) { SetPortfolioId(value); return *this;} /** *

The portfolio identifier.

*/ inline CreateConstraintRequest& WithPortfolioId(Aws::String&& value) { SetPortfolioId(std::move(value)); return *this;} /** *

The portfolio identifier.

*/ inline CreateConstraintRequest& WithPortfolioId(const char* value) { SetPortfolioId(value); return *this;} /** *

The product identifier.

*/ inline const Aws::String& GetProductId() const{ return m_productId; } /** *

The product identifier.

*/ inline bool ProductIdHasBeenSet() const { return m_productIdHasBeenSet; } /** *

The product identifier.

*/ inline void SetProductId(const Aws::String& value) { m_productIdHasBeenSet = true; m_productId = value; } /** *

The product identifier.

*/ inline void SetProductId(Aws::String&& value) { m_productIdHasBeenSet = true; m_productId = std::move(value); } /** *

The product identifier.

*/ inline void SetProductId(const char* value) { m_productIdHasBeenSet = true; m_productId.assign(value); } /** *

The product identifier.

*/ inline CreateConstraintRequest& WithProductId(const Aws::String& value) { SetProductId(value); return *this;} /** *

The product identifier.

*/ inline CreateConstraintRequest& WithProductId(Aws::String&& value) { SetProductId(std::move(value)); return *this;} /** *

The product identifier.

*/ inline CreateConstraintRequest& WithProductId(const char* value) { SetProductId(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 CreateConstraintRequest& 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 CreateConstraintRequest& 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 CreateConstraintRequest& WithParameters(const char* value) { SetParameters(value); return *this;} /** *

The type of constraint.

  • LAUNCH

  • *

    NOTIFICATION

  • RESOURCE_UPDATE *

  • STACKSET

  • * TEMPLATE

*/ inline const Aws::String& GetType() const{ return m_type; } /** *

The type of constraint.

  • LAUNCH

  • *

    NOTIFICATION

  • RESOURCE_UPDATE *

  • STACKSET

  • * TEMPLATE

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

The type of constraint.

  • LAUNCH

  • *

    NOTIFICATION

  • RESOURCE_UPDATE *

  • STACKSET

  • * TEMPLATE

*/ inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of constraint.

  • LAUNCH

  • *

    NOTIFICATION

  • RESOURCE_UPDATE *

  • STACKSET

  • * TEMPLATE

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

The type of constraint.

  • LAUNCH

  • *

    NOTIFICATION

  • RESOURCE_UPDATE *

  • STACKSET

  • * TEMPLATE

*/ inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } /** *

The type of constraint.

  • LAUNCH

  • *

    NOTIFICATION

  • RESOURCE_UPDATE *

  • STACKSET

  • * TEMPLATE

*/ inline CreateConstraintRequest& WithType(const Aws::String& value) { SetType(value); return *this;} /** *

The type of constraint.

  • LAUNCH

  • *

    NOTIFICATION

  • RESOURCE_UPDATE *

  • STACKSET

  • * TEMPLATE

*/ inline CreateConstraintRequest& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} /** *

The type of constraint.

  • LAUNCH

  • *

    NOTIFICATION

  • RESOURCE_UPDATE *

  • STACKSET

  • * TEMPLATE

*/ inline CreateConstraintRequest& WithType(const char* value) { SetType(value); return *this;} /** *

The description of the constraint.

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

The description of the constraint.

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

The description of the constraint.

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

The description of the constraint.

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

The description of the constraint.

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

The description of the constraint.

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

The description of the constraint.

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

The description of the constraint.

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

A unique identifier that you provide to ensure idempotency. If multiple * requests differ only by the idempotency token, the same response is returned for * each repeated request.

*/ inline const Aws::String& GetIdempotencyToken() const{ return m_idempotencyToken; } /** *

A unique identifier that you provide to ensure idempotency. If multiple * requests differ only by the idempotency token, the same response is returned for * each repeated request.

*/ inline bool IdempotencyTokenHasBeenSet() const { return m_idempotencyTokenHasBeenSet; } /** *

A unique identifier that you provide to ensure idempotency. If multiple * requests differ only by the idempotency token, the same response is returned for * each repeated request.

*/ inline void SetIdempotencyToken(const Aws::String& value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken = value; } /** *

A unique identifier that you provide to ensure idempotency. If multiple * requests differ only by the idempotency token, the same response is returned for * each repeated request.

*/ inline void SetIdempotencyToken(Aws::String&& value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken = std::move(value); } /** *

A unique identifier that you provide to ensure idempotency. If multiple * requests differ only by the idempotency token, the same response is returned for * each repeated request.

*/ inline void SetIdempotencyToken(const char* value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken.assign(value); } /** *

A unique identifier that you provide to ensure idempotency. If multiple * requests differ only by the idempotency token, the same response is returned for * each repeated request.

*/ inline CreateConstraintRequest& WithIdempotencyToken(const Aws::String& value) { SetIdempotencyToken(value); return *this;} /** *

A unique identifier that you provide to ensure idempotency. If multiple * requests differ only by the idempotency token, the same response is returned for * each repeated request.

*/ inline CreateConstraintRequest& WithIdempotencyToken(Aws::String&& value) { SetIdempotencyToken(std::move(value)); return *this;} /** *

A unique identifier that you provide to ensure idempotency. If multiple * requests differ only by the idempotency token, the same response is returned for * each repeated request.

*/ inline CreateConstraintRequest& WithIdempotencyToken(const char* value) { SetIdempotencyToken(value); return *this;} private: Aws::String m_acceptLanguage; bool m_acceptLanguageHasBeenSet = false; Aws::String m_portfolioId; bool m_portfolioIdHasBeenSet = false; Aws::String m_productId; bool m_productIdHasBeenSet = false; Aws::String m_parameters; bool m_parametersHasBeenSet = false; Aws::String m_type; bool m_typeHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_idempotencyToken; bool m_idempotencyTokenHasBeenSet = false; }; } // namespace Model } // namespace ServiceCatalog } // namespace Aws