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 AWS CloudFormation template launches a AWS 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 AWS 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 toProductId
as long as only one product exists in the account or Region with thatProductName
.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. You must also specify either the name or the ID of the product, 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 toALLOWED
to allow tag updates. IfRESOURCE_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
-
ProvisionProduct in the AWS Service Catalog API Reference