Skip to content

Resource: awsServicecatalogProvisionedProduct

This resource provisions and manages a Service Catalog provisioned product.

A provisioned product is a resourced instance of a product. For example, provisioning a product based on a CloudFormation template launches a CloudFormation stack and its underlying resources.

Like this resource, the awsServicecatalogRecord data source also provides information about a provisioned product. Although a Service Catalog record provides some overlapping information with this resource, a record is tied to a provisioned product event, such as provisioning, termination, and updating.

-> Tip: If you include conflicted keys as tags, AWS will report an error, "Parameter validation failed: Missing required parameter in Tags[N]:Value".

-> Tip: A "provisioning artifact" is also referred to as a "version." A "distributor" is also referred to as a "vendor."

Example Usage

Basic Usage

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as aws from "./.gen/providers/aws";
new aws.servicecatalogProvisionedProduct.ServicecatalogProvisionedProduct(
  this,
  "example",
  {
    name: "example",
    productName: "Example product",
    provisioningArtifactName: "Example version",
    provisioningParameters: [
      {
        key: "foo",
        value: "bar",
      },
    ],
    tags: {
      foo: "bar",
    },
  }
);

Argument Reference

The following arguments are required:

  • name - (Required) User-friendly name of the provisioned product.

The following arguments are optional:

  • acceptLanguage - (Optional) Language code. Valid values: en (English), jp (Japanese), zh (Chinese). Default value is en.
  • ignoreErrors - (Optional) Only applies to deleting. If set to true, AWS Service Catalog stops managing the specified provisioned product even if it cannot delete the underlying resources. The default value is false.
  • notificationArns - (Optional) Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.
  • pathId - (Optional) Path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path. To list the paths for a product, use awsServicecatalogLaunchPaths. When required, you must provide pathId or pathName, but not both.
  • pathName - (Optional) Name of the path. You must provide pathId or pathName, but not both.
  • productId - (Optional) Product identifier. For example, prodAbcdzk7Xy33Qa. You must provide productId or productName, but not both.
  • productName - (Optional) Name of the product. You must provide productId or productName, but not both.
  • provisioningArtifactId - (Optional) Identifier of the provisioning artifact. For example, pa4Abcdjnxjj6Ne. You must provide the provisioningArtifactId or provisioningArtifactName, but not both.
  • provisioningArtifactName - (Optional) Name of the provisioning artifact. You must provide the provisioningArtifactId or provisioningArtifactName, but not both.
  • provisioningParameters - (Optional) Configuration block with parameters specified by the administrator that are required for provisioning the product. See details below.
  • retainPhysicalResources - (Optional) Only applies to deleting. Whether to delete the Service Catalog provisioned product but leave the CloudFormation stack, stack set, or the underlying resources of the deleted provisioned product. The default value is false.
  • stackSetProvisioningPreferences - (Optional) Configuration block with information about the provisioning preferences for a stack set. See details below.
  • tags - (Optional) Tags to apply to the provisioned product. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

provisioningParameters

The following arguments are supported:

  • key - (Required) Parameter key.
  • usePreviousValue - (Optional) Whether to ignore value and keep the previous parameter value. Ignored when initially provisioning a product.
  • value - (Optional) Parameter value.

stackSetProvisioningPreferences

All of the stackSetProvisioningPreferences are only applicable to a CFN_STACKSET provisioned product type.

The following arguments are supported:

  • accounts - (Optional) One or more AWS accounts that will have access to the provisioned product. The AWS accounts specified should be within the list of accounts in the STACKSET constraint. To get the list of accounts in the STACKSET constraint, use the awsServicecatalogProvisioningParameters data source. If no values are specified, the default value is all accounts from the STACKSET constraint.
  • failureToleranceCount - (Optional) Number of accounts, per region, for which this operation can fail before AWS Service Catalog stops the operation in that region. If the operation is stopped in a region, AWS Service Catalog doesn't attempt the operation in any subsequent regions. You must specify either failureToleranceCount or failureTolerancePercentage, but not both. The default value is 0 if no value is specified.
  • failureTolerancePercentage - (Optional) Percentage of accounts, per region, for which this stack operation can fail before AWS Service Catalog stops the operation in that region. If the operation is stopped in a region, AWS Service Catalog doesn't attempt the operation in any subsequent regions. When calculating the number of accounts based on the specified percentage, AWS Service Catalog rounds down to the next whole number. You must specify either failureToleranceCount or failureTolerancePercentage, but not both.
  • maxConcurrencyCount - (Optional) Maximum number of accounts in which to perform this operation at one time. This is dependent on the value of failureToleranceCount. maxConcurrencyCount is at most one more than the failureToleranceCount. Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling. You must specify either maxConcurrencyCount or maxConcurrencyPercentage, but not both.
  • maxConcurrencyPercentage - (Optional) Maximum percentage of accounts in which to perform this operation at one time. When calculating the number of accounts based on the specified percentage, AWS Service Catalog rounds down to the next whole number. This is true except in cases where rounding down would result is zero. In this case, AWS Service Catalog sets the number as 1 instead. Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling. You must specify either maxConcurrencyCount or maxConcurrencyPercentage, but not both.
  • regions - (Optional) One or more AWS Regions where the provisioned product will be available. The specified regions should be within the list of regions from the STACKSET constraint. To get the list of regions in the STACKSET constraint, use the awsServicecatalogProvisioningParameters data source. If no values are specified, the default value is all regions from the STACKSET constraint.

Attributes Reference

In addition to all arguments above, the following attributes are exported:

  • arn - ARN of the provisioned product.
  • cloudwatchDashboardNames - Set of CloudWatch dashboards that were created when provisioning the product.
  • createdTime - Time when the provisioned product was created.
  • id - Provisioned Product ID.
  • lastProvisioningRecordId - Record identifier of the last request performed on this provisioned product of the following types: provisionedProduct, updateProvisionedProduct, executeProvisionedProductPlan, terminateProvisionedProduct.
  • lastRecordId - Record identifier of the last request performed on this provisioned product.
  • lastSuccessfulProvisioningRecordId - Record identifier of the last successful request performed on this provisioned product of the following types: provisionedProduct, updateProvisionedProduct, executeProvisionedProductPlan, terminateProvisionedProduct.
  • launchRoleArn - ARN of the launch role associated with the provisioned product.
  • outputs - The set of outputs for the product created.
  • description - The description of the output.
  • key - The output key.
  • value - The output value.
  • status - Current status of the provisioned product. See meanings below.
  • statusMessage - Current status message of the provisioned product.
  • tagsAll - Map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
  • type - Type of provisioned product. Valid values are CFN_STACK and CFN_STACKSET.

status Meanings

\~> NOTE: Enable logging to warn verbosity to further investigate error messages associated with a provisioned product in the error or tainted state which can occur during resource creation or update.

  • available - Stable state, ready to perform any operation. The most recent operation succeeded and completed.
  • UNDER_CHANGE - Transitive state. Operations performed might not have valid results. Wait for an available status before performing operations.
  • tainted - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.
  • error - An unexpected error occurred. The provisioned product exists but the stack is not running. For example, CloudFormation received a parameter value that was not valid and could not launch the stack.
  • PLAN_IN_PROGRESS - Transitive state. The plan operations were performed to provision a new product, but resources have not yet been created. After reviewing the list of resources to be created, execute the plan. Wait for an available status before performing operations.

Timeouts

Configuration options:

  • create - (Default 30M)
  • read - (Default 10M)
  • update - (Default 30M)
  • delete - (Default 30M)

Import

awsServicecatalogProvisionedProduct can be imported using the provisioned product ID, e.g.,

$ terraform import aws_servicecatalog_provisioned_product.example pp-dnigbtea24ste