ServiceCatalog / Client / create_constraint
create_constraint#
- ServiceCatalog.Client.create_constraint(**kwargs)#
Creates a constraint.
A delegated admin is authorized to invoke this command.
See also: AWS API Documentation
Request Syntax
response = client.create_constraint( AcceptLanguage='string', PortfolioId='string', ProductId='string', Parameters='string', Type='string', Description='string', IdempotencyToken='string' )
- Parameters:
AcceptLanguage (string) –
The language code.
jp- Japanesezh- Chinese
PortfolioId (string) –
[REQUIRED]
The portfolio identifier.
ProductId (string) –
[REQUIRED]
The product identifier.
Parameters (string) –
[REQUIRED]
The constraint parameters, in JSON format. The syntax depends on the constraint type as follows:
LAUNCH
You are required to specify either the
RoleArnor theLocalRoleNamebut can’t use both.Specify the
RoleArnproperty as follows:{"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}Specify the
LocalRoleNameproperty as follows:{"LocalRoleName": "SCBasicLaunchRole"}If you specify the
LocalRoleNameproperty, 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
LAUNCHand aSTACKSETconstraint.You also cannot have more than one
LAUNCHconstraint on a product and portfolio.NOTIFICATION
Specify the
NotificationArnsproperty as follows:{"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]}RESOURCE_UPDATE
Specify the
TagUpdatesOnProvisionedProductproperty as follows:{"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}}The
TagUpdatesOnProvisionedProductproperty accepts a string value ofALLOWEDorNOT_ALLOWED.STACKSET
Specify the
Parametersproperty as follows:{"Version": "String", "Properties": {"AccountList": [ "String" ], "RegionList": [ "String" ], "AdminRole": "String", "ExecutionRole": "String"}}You cannot have both a
LAUNCHand aSTACKSETconstraint.You also cannot have more than one
STACKSETconstraint on a product and portfolio.Products with a
STACKSETconstraint will launch an CloudFormation stack set.TEMPLATE
Specify the
Rulesproperty. For more information, see Template Constraint Rules.Type (string) –
[REQUIRED]
The type of constraint.
LAUNCHNOTIFICATIONRESOURCE_UPDATESTACKSETTEMPLATE
Description (string) – The description of the constraint.
IdempotencyToken (string) –
[REQUIRED]
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.
This field is autopopulated if not provided.
- Return type:
dict
- Returns:
Response Syntax
{ 'ConstraintDetail': { 'ConstraintId': 'string', 'Type': 'string', 'Description': 'string', 'Owner': 'string', 'ProductId': 'string', 'PortfolioId': 'string' }, 'ConstraintParameters': 'string', 'Status': 'AVAILABLE'|'CREATING'|'FAILED' }
Response Structure
(dict) –
ConstraintDetail (dict) –
Information about the constraint.
ConstraintId (string) –
The identifier of the constraint.
Type (string) –
The type of constraint.
LAUNCHNOTIFICATIONSTACKSET
TEMPLATE
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.
Exceptions
ServiceCatalog.Client.exceptions.ResourceNotFoundExceptionServiceCatalog.Client.exceptions.InvalidParametersExceptionServiceCatalog.Client.exceptions.LimitExceededExceptionServiceCatalog.Client.exceptions.DuplicateResourceException