CreateConstraintCommand

Creates a constraint.

A delegated admin is authorized to invoke this command.

Example Syntax

Use a bare-bones client and the command you need to make an API call.

import { ServiceCatalogClient, CreateConstraintCommand } from "@aws-sdk/client-service-catalog"; // ES Modules import
// const { ServiceCatalogClient, CreateConstraintCommand } = require("@aws-sdk/client-service-catalog"); // CommonJS import
const client = new ServiceCatalogClient(config);
const input = { // CreateConstraintInput
  AcceptLanguage: "STRING_VALUE",
  PortfolioId: "STRING_VALUE", // required
  ProductId: "STRING_VALUE", // required
  Parameters: "STRING_VALUE", // required
  Type: "STRING_VALUE", // required
  Description: "STRING_VALUE",
  IdempotencyToken: "STRING_VALUE", // required
};
const command = new CreateConstraintCommand(input);
const response = await client.send(command);
// { // CreateConstraintOutput
//   ConstraintDetail: { // ConstraintDetail
//     ConstraintId: "STRING_VALUE",
//     Type: "STRING_VALUE",
//     Description: "STRING_VALUE",
//     Owner: "STRING_VALUE",
//     ProductId: "STRING_VALUE",
//     PortfolioId: "STRING_VALUE",
//   },
//   ConstraintParameters: "STRING_VALUE",
//   Status: "AVAILABLE" || "CREATING" || "FAILED",
// };

CreateConstraintCommand Input

See CreateConstraintCommandInput for more details

Parameter
Type
Description
Parameters
Required
string | undefined

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 .

PortfolioId
Required
string | undefined

The portfolio identifier.

ProductId
Required
string | undefined

The product identifier.

Type
Required
string | undefined

The type of constraint.

  • LAUNCH

  • NOTIFICATION

  • RESOURCE_UPDATE

  • STACKSET

  • TEMPLATE

AcceptLanguage
string | undefined

The language code.

  • jp - Japanese

  • zh - Chinese

Description
string | undefined

The description of the constraint.

IdempotencyToken
string | undefined

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.

CreateConstraintCommand Output

Parameter
Type
Description
$metadata
Required
ResponseMetadata
Metadata pertaining to this request.
ConstraintDetail
ConstraintDetail | undefined

Information about the constraint.

ConstraintParameters
string | undefined

The constraint parameters.

Status
Status | undefined

The status of the current request.

Throws

Name
Fault
Details
DuplicateResourceException
client

The specified resource is a duplicate.

InvalidParametersException
client

One or more parameters provided to the operation are not valid.

LimitExceededException
client

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.

ResourceNotFoundException
client

The specified resource was not found.

ServiceCatalogServiceException
Base exception class for all service exceptions from ServiceCatalog service.