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