Skip to content

Resource: awsServicecatalogProduct

Manages a Service Catalog Product.

\~> NOTE: The user or role that uses this resources must have the cloudformation:getTemplate IAM policy permission. This policy permission is required when using the templatePhysicalId argument.

-> 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.servicecatalogProduct.ServicecatalogProduct(this, "example", {
  name: "example",
  owner: "example-owner",
  provisioningArtifactParameters: {
    templateUrl:
      "https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/temp1.json",
  },
  tags: {
    foo: "bar",
  },
  type: "CLOUD_FORMATION_TEMPLATE",
});

Argument Reference

The following arguments are required:

  • name - (Required) Name of the product.
  • owner - (Required) Owner of the product.
  • provisioningArtifactParameters - (Required) Configuration block for provisioning artifact (i.e., version) parameters. Detailed below.
  • type - (Required) Type of product. See AWS Docs for valid list of values.

The following arguments are optional:

  • acceptLanguage - (Optional) Language code. Valid values: en (English), jp (Japanese), zh (Chinese). Default value is en.
  • description - (Optional) Description of the product.
  • distributor - (Optional) Distributor (i.e., vendor) of the product.
  • supportDescription - (Optional) Support information about the product.
  • supportEmail - (Optional) Contact email for product support.
  • supportUrl - (Optional) Contact URL for product support.
  • tags - (Optional) Tags to apply to the product. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

provisioningArtifactParameters

The following arguments are supported:

  • description - (Optional) Description of the provisioning artifact (i.e., version), including how it differs from the previous provisioning artifact.
  • disableTemplateValidation - (Optional) Whether AWS Service Catalog stops validating the specified provisioning artifact template even if it is invalid.
  • name - (Optional) Name of the provisioning artifact (for example, v1, v2Beta). No spaces are allowed.
  • templatePhysicalId - (Required if templateUrl is not provided) Template source as the physical ID of the resource that contains the template. Currently only supports CloudFormation stack ARN. Specify the physical ID as arn:[partition]:cloudformation:[region]:[accountId]:stack/[stackName]/[resourceId].
  • templateUrl - (Required if templatePhysicalId is not provided) Template source as URL of the CloudFormation template in Amazon S3.
  • type - (Optional) Type of provisioning artifact. See AWS Docs for valid list of values.

Attributes Reference

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

  • arn - ARN of the product.
  • createdTime - Time when the product was created.
  • hasDefaultPath - Whether the product has a default path. If the product does not have a default path, call listLaunchPaths to disambiguate between paths. Otherwise, listLaunchPaths is not required, and the output of ProductViewSummary can be used directly with describeProvisioningParameters.
  • id - Product ID. For example, prodDnigbtea24Ste.
  • status - Status of the product.
  • tagsAll - A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.

Timeouts

Configuration options:

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

Import

awsServicecatalogProduct can be imported using the product ID, e.g.,

$ terraform import aws_servicecatalog_product.example prod-dnigbtea24ste