class Aws::ServiceCatalog::Types::CreateConstraintInput

@note When making an API call, you may pass CreateConstraintInput

data as a hash:

    {
      accept_language: "AcceptLanguage",
      portfolio_id: "Id", # required
      product_id: "Id", # required
      parameters: "ConstraintParameters", # required
      type: "ConstraintType", # required
      description: "ConstraintDescription",
      idempotency_token: "IdempotencyToken", # required
    }

@!attribute [rw] accept_language

The language code.

* `en` - English (default)

* `jp` - Japanese

* `zh` - Chinese
@return [String]

@!attribute [rw] portfolio_id

The portfolio identifier.
@return [String]

@!attribute [rw] product_id

The product identifier.
@return [String]

@!attribute [rw] 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.

  <note markdown="1"> 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.

   </note>

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

TEMPLATE

: Specify the `Rules` property. For more information, see [Template
  Constraint Rules][1].

[1]: http://docs.aws.amazon.com/servicecatalog/latest/adminguide/reference-template_constraint_rules.html
@return [String]

@!attribute [rw] type

The type of constraint.

* `LAUNCH`

* `NOTIFICATION`

* `RESOURCE_UPDATE`

* `STACKSET`

* `TEMPLATE`
@return [String]

@!attribute [rw] description

The description of the constraint.
@return [String]

@!attribute [rw] idempotency_token

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.

**A suitable default value is auto-generated.** You should normally
not need to pass this option.
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateConstraintInput AWS API Documentation

Constants

SENSITIVE