CloudFormation modello Outputs sintassi - AWS CloudFormation

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

CloudFormation modello Outputs sintassi

La Outputs sezione opzionale dichiara i valori di output per lo stack. Questi valori di output possono essere utilizzati in vari modi:

  • Acquisisci dettagli importanti sulle tue risorse: un output è un modo conveniente per acquisire informazioni importanti sulle tue risorse. Ad esempio, è possibile restituire l'output di un nome di bucket S3 per uno stack per semplificare la ricerca del bucket. È possibile visualizzare i valori di output nella scheda Output della CloudFormation console o utilizzando il describe-stacksCLIcomando.

  • Riferimenti cross-stack: è possibile importare valori di output in altre pile per creare riferimenti tra pile. Ciò è utile quando è necessario condividere risorse o configurazioni su più stack.

Importante

CloudFormation non oscura o offusca le informazioni incluse nella sezione. Outputs Si consiglia vivamente di non utilizzare questa sezione per generare informazioni riservate, ad esempio password o segreti.

I valori di output sono disponibili al termine dell'operazione dello stack. I valori di output dello stack non sono disponibili quando lo stato dello stack si trova in uno qualsiasi degli stati. IN_PROGRESS Si sconsiglia di stabilire dipendenze tra un runtime del servizio e il valore di output dello stack, poiché i valori di output potrebbero non essere sempre disponibili.

Sintassi

La sezione Outputs è composta dal nome di chiave Outputs. Puoi dichiarare un massimo di 200 output in un modello.

L'esempio seguente mostra la struttura della sezione Outputs.

JSON

Usa le parentesi graffe per racchiudere tutte le dichiarazioni degli output. Delimita più output con virgole.

"Outputs" : { "OutputLogicalID" : { "Description" : "Information about the value", "Value" : "Value to return", "Export" : { "Name" : "Name of resource to export" } } }

YAML

Outputs: OutputLogicalID: Description: Information about the value Value: Value to return Export: Name: Name of resource to export

Campi di output

La sezione Outputs può includere i seguenti campi.

ID logico (chiamato anche nome logico)

Identificatore per l'output corrente. L'ID logico deve essere un valore alfanumerico (a–z, A–Z, 0–9) univoco all'interno del modello.

Description(opzionale)

Tipo String che descrive il valore di output. Il valore della dichiarazione della descrizione deve essere una stringa letterale con una lunghezza compresa tra 0 e 1024 byte. Per specificare la descrizione non è possibile utilizzare un parametro o una funzione.

Value (obbligatorio)

Il valore della proprietà restituito dal describe-stackscomando. Il valore di un output può includere valori letterali, riferimenti a parametri, pseudoparametri, un valore di mappatura o funzioni intrinseche.

Export(opzionale)

Nome dell'output della risorsa da esportare in un riferimento tra stack.

Puoi utilizzare le funzioni intrinseche per personalizzare il valore Name di un'esportazione.

Per ulteriori informazioni, consulta Ottieni gli output esportati da uno stack distribuito CloudFormation.

Per associare una condizione a un output, definisci la condizione nella sezione Conditions del modello.

Esempi

Negli esempi seguenti viene illustrato il funzionamento dell'output dello stack.

Output dello stack

Nell'esempio seguente, l'output denominato BackupLoadBalancerDNSName restituisce il DNS nome della risorsa con l'ID logico BackupLoadBalancer solo quando la CreateProdResources condizione è vera. L'output denominato InstanceID restituisce l'ID dell'EC2istanza con l'ID logicoEC2Instance.

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

Personalizza il nome di esportazione utilizzando Fn::Sub

Negli esempi seguenti, l'output denominato StackVPC restituisce l'ID di aVPC, quindi esporta il valore per il riferimento incrociato con il nome VPCID aggiunto al nome dello stack.

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"

Per ulteriori informazioni sulla funzione Fn::Sub, consulta Fn::Sub.

Personalizza il nome di esportazione utilizzando Fn::Join

È inoltre possibile utilizzare la Fn::Join funzione per costruire valori basati su parametri, attributi delle risorse e altre stringhe.

Gli esempi seguenti utilizzano la Fn::Join funzione per personalizzare il nome di esportazione anziché la Fn::Sub funzione. La Fn::Join funzione di esempio concatena il nome dello stack con il nome VPCID utilizzando i due punti come separatore.

JSON

"Outputs" : { "StackVPC" : { "Description" : "The ID of the VPC", "Value" : { "Ref" : "MyVPC" }, "Export" : { "Name" : { "Fn::Join" : [ ":", [ { "Ref" : "AWS::StackName" }, "VPCID" ] ] } } } }

YAML

Outputs: StackVPC: Description: The ID of the VPC Value: !Ref MyVPC Export: Name: !Join [ ":", [ !Ref "AWS::StackName", VPCID ] ]

Per ulteriori informazioni sulla funzione Fn::Join, consulta Fn::Join.

URLRestituisce un oggetto costruito usando Fn::Join

Nell'esempio seguente di un modello che crea un WordPress sito, InstallURL è la stringa restituita da una chiamata di Fn::Join funzione che concatenahttp://, il DNS nome della risorsa ElasticLoadBalancer e. /wp-admin/install.php Il valore di output dovrebbe essere simile al seguente:

http://mywptests-elasticl-1gb51l6sl8y5v-206169572.aws-region.elb.amazonaws.com/wp-admin/install.php

JSON

{ "Outputs": { "InstallURL": { "Value": { "Fn::Join": [ "", [ "http://", { "Fn::GetAtt": [ "ElasticLoadBalancer", "DNSName" ] }, "/wp-admin/install.php" ] ] }, "Description": "Installation URL of the WordPress website" } } }

YAML

Outputs: InstallURL: Value: !Join - '' - - 'http://' - !GetAtt - ElasticLoadBalancer - DNSName - /wp-admin/install.php Description: Installation URL of the WordPress website

Per ulteriori informazioni sulla funzione Fn::Join, consulta Fn::Join.