AWS::ServiceCatalog::CloudFormationProvisionedProduct - AWS CloudFormation

AWS::ServiceCatalog::CloudFormationProvisionedProduct

Provisions the specified 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. You can check the status of this request using DescribeRecord.

If the request contains a tag key with an empty list of values, there is a tag conflict for that key. Do not include conflicted keys as tags, or this causes the error "Parameter validation failed: Missing required parameter in Tags[N]:Value".

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::ServiceCatalog::CloudFormationProvisionedProduct", "Properties" : { "AcceptLanguage" : String, "NotificationArns" : [ String, ... ], "PathId" : String, "PathName" : String, "ProductId" : String, "ProductName" : String, "ProvisionedProductName" : String, "ProvisioningArtifactId" : String, "ProvisioningArtifactName" : String, "ProvisioningParameters" : [ ProvisioningParameter, ... ], "ProvisioningPreferences" : ProvisioningPreferences, "Tags" : [ Tag, ... ] } }

YAML

Type: AWS::ServiceCatalog::CloudFormationProvisionedProduct Properties: AcceptLanguage: String NotificationArns: - String PathId: String PathName: String ProductId: String ProductName: String ProvisionedProductName: String ProvisioningArtifactId: String ProvisioningArtifactName: String ProvisioningParameters: - ProvisioningParameter ProvisioningPreferences: ProvisioningPreferences Tags: - Tag

Properties

AcceptLanguage

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

Required: No

Type: String

Maximum: 100

Update requires: No interruption

NotificationArns

Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.

Required: No

Type: List of String

Maximum: 5

Update requires: Replacement

PathId

The 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 ListLaunchPaths.

Note

You must provide the name or ID, but not both.

Required: No

Type: String

Minimum: 1

Maximum: 100

Pattern: ^[a-zA-Z0-9_\-]*

Update requires: No interruption

PathName

The name of the path. 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 ListLaunchPaths.

Note

You must provide the name or ID, but not both.

Required: No

Type: String

Minimum: 1

Maximum: 100

Update requires: No interruption

ProductId

The product identifier.

Note

You must specify either the ID or the name of the product, but not both.

Required: Conditional

Type: String

Minimum: 1

Maximum: 100

Pattern: ^[a-zA-Z0-9_\-]*

Update requires: No interruption

ProductName

A user-friendly name for the provisioned product. This value must be unique for the AWS account and cannot be updated after the product is provisioned.

Each time a stack is created or updated, if ProductName is provided it will successfully resolve to ProductId as long as only one product exists in the account/region with that ProductName.

Note

You must specify either the name or the ID of the product, but not both.

Required: Conditional

Type: String

Minimum: 1

Maximum: 128

Pattern: [a-zA-Z0-9][a-zA-Z0-9._-]*

Update requires: No interruption

ProvisionedProductName

A user-friendly name for the provisioned product. This value must be unique for the AWS account and cannot be updated after the product is provisioned.

Required: No

Type: String

Minimum: 1

Maximum: 128

Pattern: [a-zA-Z0-9][a-zA-Z0-9._-]*

Update requires: Replacement

ProvisioningArtifactId

The identifier of the provisioning artifact (also known as a version).

Note

You must specify either the ID or the name of the provisioning artifact, but not both.

Required: Conditional

Type: String

Minimum: 1

Maximum: 100

Pattern: ^[a-zA-Z0-9_\-]*

Update requires: No interruption

ProvisioningArtifactName

The name of the provisioning artifact (also known as a version) for the product. This name must be unique for the product.

Note

You must specify either the name or the ID of the provisioning artifact, but not both.

Required: Conditional

Type: String

Maximum: 8192

Update requires: No interruption

ProvisioningParameters

Parameters specified by the administrator that are required for provisioning the product.

Required: No

Type: List of ProvisioningParameter

Update requires: No interruption

ProvisioningPreferences

StackSet preferences that are required for provisioning the product or updating a provisioned product.

Required: No

Type: ProvisioningPreferences

Update requires: No interruption

Tags

One or more tags.

Note

Requires the provisioned product to have an ResourceUpdateConstraint resource with TagUpdatesOnProvisionedProduct set to ALLOWED to allow tag updates. If RESOURCE_UPDATE constraint is not present, tags updates are ignored.

Required: No

Type: List of Tag

Maximum: 50

Update requires: No interruption

Return values

Ref

When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the provisioned product ID, such as pp-hfyszaotincww.

For more information about using the Ref function, see Ref.

Fn::GetAtt

The Fn::GetAtt intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the Fn::GetAtt intrinsic function, see Fn::GetAtt.

CloudformationStackArn

The Amazon Resource Name (ARN) of the CloudFormation stack, such as arn:aws:cloudformation:eu-west-1:123456789012:stack/SC-499278721343-pp-hfyszaotincww/8f3df460-346a-11e8-9444-503abe701c29.

ProvisionedProductId

The ID of the provisioned product.

RecordId

The ID of the record, such as rec-rjeatvy434trk.

Examples

GetAtt Example

YAML

AWSTemplateFormatVersion: '2010-09-09' Description: Serverless Stack Resources: SimpleLambda: Type: AWS::ServiceCatalog::CloudFormationProvisionedProduct Properties: ProductName: Basic Lambda ProvisioningArtifactName: '1.0' SimpleApiGateway: Type: AWS::ServiceCatalog::CloudFormationProvisionedProduct Properties: ProductName: API Gateway ProvisioningArtifactName: '1.0' ProvisioningParameters: - Key: LambdaArn Value: !GetAtt [SimpleLambda, Outputs.SCLambdaArn]

See also