AWS::ServiceCatalog 変換 - AWS CloudFormation

AWS::ServiceCatalog 変換

このトピックでは、AWS::ServiceCatalog 変換を使用して CloudFormation テンプレートの既存の AWS Service Catalog プロビジョニングされた製品からの出力を参照する方法について説明します。

使用方法

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

出力値が必要な場合は、プロビジョニングされた製品の名前と出力キー名を指定します。

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

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

構文

CloudFormation テンプレートでこの変換を宣言するには、次の構文を使用します。

JSON

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

YAML

Transform: AWS::ServiceCatalog Resources: ...

AWS::ServiceCatalog 変換は追加のパラメータがないスタンドアロン宣言です。

次の例では、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]]