[ aws . servicecatalog ]



Creates a constraint.

A delegated admin is authorized to invoke this command.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.


[--accept-language <value>]
--portfolio-id <value>
--product-id <value>
--parameters <value>
--type <value>
[--description <value>]
[--idempotency-token <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--cli-auto-prompt <value>]


--accept-language (string)

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

--portfolio-id (string)

The portfolio identifier.

--product-id (string)

The product identifier.

--parameters (string)

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


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.


Specify the NotificationArns property as follows:

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


Specify the TagUpdatesOnProvisionedProduct property as follows:


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


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 AWS CloudFormation stack set.


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

--type (string)

The type of constraint.






--description (string)

The description of the constraint.

--idempotency-token (string)

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.

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

--cli-auto-prompt (boolean) Automatically prompt for CLI input parameters.

See ‘aws help’ for descriptions of global parameters.


ConstraintDetail -> (structure)

Information about the constraint.

ConstraintId -> (string)

The identifier of the constraint.

Type -> (string)

The type of constraint.





Description -> (string)

The description of the constraint.

Owner -> (string)

The owner of the constraint.

ProductId -> (string)

The identifier of the product the constraint applies to. Note that a constraint applies to a specific instance of a product within a certain portfolio.

PortfolioId -> (string)

The identifier of the portfolio the product resides in. The constraint applies only to the instance of the product that lives within this portfolio.

ConstraintParameters -> (string)

The constraint parameters.

Status -> (string)

The status of the current request.