

Este é o novo *Guia de referência de modelos do CloudFormation*. Atualize seus favoritos e links. Para obter ajuda para começar a usar o CloudFormation, consulte o [Guia do usuário do AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# `AWS::ServiceCatalog`Transformação
<a name="transform-aws-servicecatalog"></a>

Este tópico descreve como usar a transformação `AWS::ServiceCatalog` para fazer referência a saídas de um produto provisionado do AWS Service Catalog existente em seu modelo do CloudFormation.

## Usage
<a name="aws-servicecatalog-usage"></a>

Para usar a transformação `AWS::ServiceCatalog`, é necessário declará-la no nível superior do seu modelo do CloudFormation. Não é possível usar `AWS::ServiceCatalog` como uma transformação incorporada em nenhuma outra seção de 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.

A declaração deve usar a string literal `AWS::ServiceCatalog` como seu valor. Você não pode usar um parâmetro ou uma função para especificar um valor de transformação.

### Sintaxe
<a name="aws-servicecatalog-syntax"></a>

Para declarar essa transformação no modelo do CloudFormation, use a seguinte sintaxe:

#### JSON
<a name="aws-servicecatalog-syntax.json"></a>

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

#### YAML
<a name="aws-servicecatalog-syntax.yaml"></a>

```
Transform: AWS::ServiceCatalog
Resources:
  ...
```

A transformação `AWS::ServiceCatalog` é uma declaração independente sem parâmetros adicionais.

## Exemplos
<a name="aws-servicecatalog-examples"></a>

Os exemplos a seguir mostram como é possível fazer referência a saídas de um produto provisionado existente 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
<a name="aws-servicecatalog-example.json.json"></a>

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
<a name="aws-servicecatalog-example.yaml"></a>

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