CreateConstraint
Creates a constraint.
A delegated admin is authorized to invoke this command.
Request Syntax
{
"AcceptLanguage": "string
",
"Description": "string
",
"IdempotencyToken": "string
",
"Parameters": "string
",
"PortfolioId": "string
",
"ProductId": "string
",
"Type": "string
"
}
Request Parameters
The request accepts the following data in JSON format.
- AcceptLanguage
-
The language code.
-
jp
- Japanese -
zh
- Chinese
Type: String
Length Constraints: Maximum length of 100.
Required: No
-
- Description
-
The description of the constraint.
Type: String
Length Constraints: Maximum length of 2000.
Required: No
- 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.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
[a-zA-Z0-9][a-zA-Z0-9_-]*
Required: Yes
- 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 theLocalRoleName
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.Note
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 aSTACKSET
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 ofALLOWED
orNOT_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 aSTACKSET
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. - TEMPLATE
-
Specify the
Rules
property. For more information, see Template Constraint Rules.
Type: String
Required: Yes
- PortfolioId
-
The portfolio identifier.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 100.
Pattern:
^[a-zA-Z0-9_\-]*
Required: Yes
- ProductId
-
The product identifier.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 100.
Pattern:
^[a-zA-Z0-9_\-]*
Required: Yes
- Type
-
The type of constraint.
-
LAUNCH
-
NOTIFICATION
-
RESOURCE_UPDATE
-
STACKSET
-
TEMPLATE
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Required: Yes
-
Response Syntax
{
"ConstraintDetail": {
"ConstraintId": "string",
"Description": "string",
"Owner": "string",
"PortfolioId": "string",
"ProductId": "string",
"Type": "string"
},
"ConstraintParameters": "string",
"Status": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- ConstraintDetail
-
Information about the constraint.
Type: ConstraintDetail object
- ConstraintParameters
-
The constraint parameters.
Type: String
- Status
-
The status of the current request.
Type: String
Valid Values:
AVAILABLE | CREATING | FAILED
Errors
- DuplicateResourceException
-
The specified resource is a duplicate.
HTTP Status Code: 400
- InvalidParametersException
-
One or more parameters provided to the operation are not valid.
HTTP Status Code: 400
- LimitExceededException
-
The current limits of the service would have been exceeded by this operation. Decrease your resource use or increase your service limits and retry the operation.
HTTP Status Code: 400
- ResourceNotFoundException
-
The specified resource was not found.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: