Outputs - AWS CloudFormation

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Outputs

La sección Outputs opcional declara valores de salida que puede importar a otras pilas (para crear referencias cruzadas de pilas), devolver en respuesta (para describir las llamadas a la pila), o ver en la consola de AWS CloudFormation. Por ejemplo, puede declarar la salida para el nombre del bucket de S3 para una pila para que sea más fácil encontrar el bucket.

importante

CloudFormation no redacta ni ofusca ninguna información que incluya en la sección Outputs. Recomendamos encarecidamente que no utilice esta sección para generar información confidencial, como contraseñas o secretos.

Sintaxis

La sección Outputs consta del nombre de clave Outputs, seguido de un espacio y una sola coma. Puede declarar un máximo de 200 salidas en una plantilla.

El siguiente ejemplo muestra la estructura de la sección Outputs.

JSON

Utilice llaves para delimitar todas las declaraciones de salida. Delimite varias salidas con comas.

"Outputs" : { "Logical ID" : { "Description" : "Information about the value", "Value" : "Value to return", "Export" : { "Name" : "Value to export" } } }

YAML

Outputs: Logical ID: Description: Information about the value Value: Value to return Export: Name: Value to export

Campos de salida

La sección Outputs puede incluir los siguientes campos.

ID lógico

Un identificador para la salida actual. El ID lógico tiene que ser alfanumérico (a-z, A-Z, 0-9) y único dentro de la plantilla.

Descripción (opcional)

Un tipo de String que describe el valor de salida. El valor de la declaración de la descripción debe ser una cadena literal de entre 0 y 1024 bytes de longitud. No puede utilizar un parámetro o función para especificar la descripción. La descripción puede tener una longitud máxima de 4 K.

Valor (obligatorio)

El valor de la propiedad devuelto por el comando aws cloudformation describe-stacks. El valor de una salida puede incluir literales, referencias de parámetros, pseudoparámetros, un valor de mapeo o funciones intrínsecas.

Exportación (opcional)

El nombre de la salida de los recursos que se exportan para una referencia cruzada de pila.

nota

Las siguientes restricciones se aplican a las referencias cruzadas entre pilas:

  • Los nombres Export de cada cuenta de AWS deben ser únicos.

  • No puede crear referencias cruzadas entre pilas en distintas regiones. Puede utilizar la función intrínseca Fn::ImportValue para importar solo valores que se hayan exportado dentro de la misma región.

  • Para los resultados, el valor de la propiedad Name de Export no puede usar las funciones Ref ni GetAtt que dependen de un recurso.

    De igual modo, la función ImportValue no puede incluir las funciones Ref ni GetAtt que dependen de un recurso.

  • No puede eliminar una pila si otra pila hace referencia a uno de sus resultados.

  • No puede modificar ni eliminar un valor de resultado al que se haga referencia en otra pila.

Puede utilizar funciones intrínsecas para personalizar el valor Name de una exportación. Los siguientes ejemplos utilizan las funciones Fn::Join.

JSON

"Export" : { "Name" : { "Fn::Join" : [ ":", [ { "Ref" : "AWS::StackName" }, "AccountVPC" ] ] } }

YAML

Export: Name: !Join [ ":", [ !Ref "AWS::StackName", AccountVPC ] ]

Para asociar una condición a una salida, defina la condición en la sección Conditions de la plantilla.

Ejemplos

Los siguientes ejemplos ilustran cómo funciona la salida de la pila.

Salida de la pila

En el siguiente ejemplo, la salida denominada BackupLoadBalancerDNSName devuelve el nombre de DNS para el recurso con el ID lógico BackupLoadBalancer solo cuando la condición CreateProdResources es true. (La segunda salida muestra cómo especificar múltiples salidas.)

JSON

"Outputs" : { "BackupLoadBalancerDNSName" : { "Description": "The DNSName of the backup load balancer", "Value" : { "Fn::GetAtt" : [ "BackupLoadBalancer", "DNSName" ]}, "Condition" : "CreateProdResources" }, "InstanceID" : { "Description": "The Instance ID", "Value" : { "Ref" : "EC2Instance" } } }

YAML

Outputs: BackupLoadBalancerDNSName: Description: The DNSName of the backup load balancer Value: !GetAtt BackupLoadBalancer.DNSName Condition: CreateProdResources InstanceID: Description: The Instance ID Value: !Ref EC2Instance

Salida cruzada de pila

En los siguientes ejemplos, la salida denominada StackVPC devuelve el ID de una VPC y, a continuación, exporta el valor para la referencia cruzada de la pila VPCID junto al nombre de la pila.

JSON

"Outputs" : { "StackVPC" : { "Description" : "The ID of the VPC", "Value" : { "Ref" : "MyVPC" }, "Export" : { "Name" : {"Fn::Sub": "${AWS::StackName}-VPCID" } } } }

YAML

Outputs: StackVPC: Description: The ID of the VPC Value: !Ref MyVPC Export: Name: !Sub "${AWS::StackName}-VPCID"