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