AWS::ServiceCatalog 変換 - AWS CloudFormation

AWS::ServiceCatalog 変換

AWS::ServiceCatalog トランスフォームにより、サービスカタログユーザーは、CloudFormation テンプレート内の既存のサービスカタログプロビジョニング済み製品からの出力を参照できます。

既存のプロビジョニング済み製品の出力を参照するには、テンプレートの先頭に AWS::ServiceCatalog トランスフォームを含める必要があります。出力値が必要な場合は、プロビジョニングされた製品の名前と出力キー名を指定します。

テンプレートでは、複数のプロビジョニングされた製品とキー名を参照できます。テンプレートごとに最大 20 個です。プロビジョニング中、トランスフォームは、CloudFormation テンプレートの出力値を置き換えて、参照されるプロビジョニングされた各プロダクトとキーから値を取得します。

使用方法

テンプレートの最上位レベルにある AWS::ServiceCatalog トランスフォームを使用します。AWS::ServiceCatalog を他のテンプレートセクションに埋め込まれたトランスフォームとして使用することはできません。

変換の宣言の値には、リテラル文字列である必要があります。変換値の指定には、パラメータまたは関数は使用できません。

テンプレートのトップレベルでの構文

テンプレートの最上位レベルにAWS::ServiceCatalog トランスフォームを含めるには、[トランスフォーム] セクションで、次の構文を使用します。

JSON

{ "Transform": "AWS::ServiceCatalog", . . . }

YAML

Transform: AWS::ServiceCatalog

パラメータ

AWS::ServiceCatalog トランスフォームはパラメータを受け付けません。

以下の JSON および YAML の例は、CloudFormation テンプレート内の既存のサービスカタログプロビジョニング済み製品の出力をユーザーが参照する方法を示しています。

以下の例では、SampleProvisionedProduct は以前に作成されたプロビジョニング済み製品です。SampleOutputKey は、このプロビジョニング済み製品の出力キーです。

JSON

この例は、動作しているバージョンです。

値を文字列リテラルとしてラップしないテンプレートバージョンは失敗します。

{ "AWSTemplateFormatVersion": "2010-09-09", "Transform": "AWS::ServiceCatalog", "Resources": { "ExampleParameter": { "Type": "AWS::SSM::Parameter", "Properties": { "Type": "String", "Value": "[[servicecatalog:provisionedproduct:SampleProvisionedProduct:SampleOutputKey]]" } } } }

YAML

例 1–4 は有効なテンプレートです。例 1 と 2 では、トランスフォームと値は文字列リテラルです。

例 5 は有効なテンプレートではありません。値は、'">- のいずれかの文字列で改行される必要があります。そうしないと、ユーザーはエラーを受け取ります。

// Example 1 AWSTemplateFormatVersion: 2010-09-09 Transform: 'AWS::ServiceCatalog' Resources: ExampleParameter: Type: 'AWS::SSM::Parameter' Properties: Type: String Value: '[[servicecatalog:provisionedproduct:SampleProvisionedProduct:SampleOutputKey]]' // Example 2 AWSTemplateFormatVersion: 2010-09-09 Transform: 'AWS::ServiceCatalog' Resources: ExampleParameter: Type: 'AWS::SSM::Parameter' Properties: Type: String Value: '[[servicecatalog:provisionedproduct:SampleProvisionedProduct:SampleOutputKey]]' // Example 3 AWSTemplateFormatVersion: 2010-09-09 Transform: AWS::ServiceCatalog Resources: ExampleParameter: Type: 'AWS::SSM::Parameter' Properties: Type: String Value: "[[servicecatalog:provisionedproduct:SampleProvisionedProduct:SampleOutputKey]]" // Example 4 AWSTemplateFormatVersion: 2010-09-09 Transform: AWS::ServiceCatalog Resources: ExampleParameter: Type: 'AWS::SSM::Parameter' Properties: Type: String Value: >- [[servicecatalog:provisionedproduct:SampleProvisionedProduct:SampleOutputKey]] // Example 5 AWSTemplateFormatVersion: 2010-09-09 Transform: AWS::ServiceCatalog Resources: ExampleParameter2: Type: 'AWS::SSM::Parameter' Properties: Type: String Value: [[servicecatalog:provisionedproduct:SSMProductProvisionedProduct:SampleOutputKey]]