

Esta es la nueva *Guía de referencia de plantillas de CloudFormation*. Actualice sus marcadores y enlaces. Para obtener ayuda sobre cómo empezar a usar CloudFormation, consulte la [Guía del usuario de AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# `AWS::ServiceCatalog`Transformación de
<a name="transform-aws-servicecatalog"></a>

En este tema se describe cómo usar la transformación `AWS::ServiceCatalog` para hacer referencia a las salidas de un producto aprovisionado de AWS Service Catalog existente en su plantilla de CloudFormation.

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

Para usar la transformación `AWS::ServiceCatalog`, debe declararla en el nivel superior de la plantilla de CloudFormation. No se puede utilizar `AWS::ServiceCatalog` como transformación integrada en ninguna otra sección de la plantilla.

Cuando se requiere un valor de salida, debe proporcionar el nombre del producto aprovisionado y el nombre de la clave de salida.

Puede hacer referencia a varios productos aprovisionados y nombres clave en la plantilla, hasta un máximo de 20 por plantilla. Durante el aprovisionamiento, la transformación recupera el valor de cada producto y clave aprovisionados a los que se hace referencia, sustituyendo el valor de salida en la plantilla de CloudFormation.

La declaración debe usar la cadena literal `AWS::ServiceCatalog` como valor. No puede utilizar un parámetro o función para especificar un valor de transformación.

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

Para declarar esta transformación en su plantilla de CloudFormation, use la siguiente sintaxis:

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

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

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

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

La transformación `AWS::ServiceCatalog` es una declaración independiente sin parámetros adicionales.

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

En los siguientes ejemplos se muestra cómo un usuario puede hacer referencia a las salidas de un producto aprovisionado de Service Catalog existente en una plantilla de CloudFormation.

En estos ejemplos, `SampleProvisionedProduct` es un producto aprovisionado previamente creado. `SampleOutputKey` es una clave de salida de este producto aprovisionado.

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

Este ejemplo es una versión de trabajo.

Las versiones de plantilla que no encapsulen el valor como un literal de cadena fallarán.

```
{
  "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>

Los ejemplos del 1 al 4 son plantillas válidas. En los Ejemplos 1 y 2, la transformación y el valor son literales de cadena.

El ejemplo 5 no es una plantilla válida. El valor debe estar encapsulado en una cadena `'` o `"` o `>-`. De lo contrario, el usuario recibe un error.

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