Transformação AWS::ServiceCatalog - AWS CloudFormation

Transformação AWS::ServiceCatalog

A transformação AWS::ServiceCatalog permite que os usuários do Service Catalog façam referência a saídas de um produto provisionado do Service Catalog existente em seus respectivos modelos do CloudFormation.

Para fazer referência a uma saída de um produto provisionado existente, você deve incluir a transformação AWS::ServiceCatalog na parte superior do seu modelo. Quando for necessário ter um valor de saída, você fornece o nome do produto provisionado e o nome da chave de saída.

É possível fazer referência a vários produtos provisionados e nomes de chaves em seu modelo, no máximo 20 por modelo. Durante o provisionamento, a transformação recupera o valor de cada produto e chave provisionados que foram indicados na referência, substituindo o valor de saída em seu modelo do CloudFormation.

Uso

Use a transformação AWS::ServiceCatalog na parte superior do modelo. Não é possível usar AWS::ServiceCatalog como uma transformação incorporada em nenhuma outra seção de modelo.

O valor da declaração de transformação deve ser uma sequência literal. Você não pode usar um parâmetro ou uma função para especificar um valor de transformação.

Sintaxe no nível superior de um modelo

Para incluir AWS::ServiceCatalog no nível superior de um modelo, use a seguinte sintaxe na seção Transformação:

JSON

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

YAML

Transform: AWS::ServiceCatalog

Parâmetros

A transformação AWS::ServiceCatalog não aceita nenhum parâmetro.

Exemplo

Os exemplos em JSON e YAML abaixo mostram como um usuário pode fazer referência a saídas de um produto existente provisionado do Service Catalog em um modelo do CloudFormation.

Nestes exemplos, SampleProvisionedProduct é um produto provisionado criado anteriormente. SampleOutputKey é uma chave de saída desse produto provisionado.

JSON

Este exemplo é uma versão funcional.

Versões de modelo que não envolverem o valor como uma string literal falharão.

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

YAML

Os exemplos 1–4 são modelos válidos. Nos exemplos 1 e 2, a transformação e o valor são strings literais.

O exemplo 5 não é um modelo válido. O valor deve ser envolvido em uma string ', " ou >-. Caso contrário, o usuário receberá um erro.

// 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]]