Transformación AWS::ServiceCatalog - AWS CloudFormation

Transformación AWS::ServiceCatalog

La transformación de AWS::ServiceCatalog permite a los usuarios de Service Catalog hacer referencia a las salidas de un producto aprovisionado de Service Catalog existente en su plantilla de CloudFormation.

Para hacer referencia a una salida de un producto aprovisionado existente, debe incluir la transformación de AWS::ServiceCatalog en la parte superior 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.

Uso

Utilice la transformación de AWS::ServiceCatalog en la parte superior de la plantilla. No se puede utilizar AWS::ServiceCatalog como transformación integrada en ninguna otra sección de la plantilla.

El valor para la declaración de transformación debe ser una cadena literal. No puede utilizar un parámetro o función para especificar un valor de transformación.

Sintaxis de nivel superior de una plantilla

Para incluir AWS::ServiceCatalog en la parte superior de una plantilla, utilice la siguiente sintaxis en la sección Transformación:

JSON

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

YAML

Transform: AWS::ServiceCatalog

Parámetros

La transformación de AWS::ServiceCatalog no acepta ningún parámetro.

Ejemplo

Los siguientes ejemplos de JSON y YAML muestran 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

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

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