

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# CloudFormation Outputssyntaxe du modèle
<a name="outputs-section-structure"></a>

La section `Outputs` facultative déclare les valeurs de sortie pour la pile. Ces valeurs de sortie peuvent être utilisées de différentes manières :
+ **Capturez des informations importantes sur vos ressources** : une sortie est un moyen pratique de capturer des informations importantes sur vos ressources. Par exemple, vous pouvez générer le nom de compartiment S3 d’une pile pour faciliter la recherche du compartiment. Vous pouvez afficher les valeurs de sortie dans l'onglet **Sorties** de la CloudFormation console ou à l'aide de la commande [describe-stacks](service_code_examples.md#describe-stacks-sdk)CLI. 
+ **Références entre piles** : vous pouvez importer des valeurs de sortie dans d’autres piles pour [créer des références entre piles](using-cfn-stack-exports.md). Cela est utile lorsque vous devez partager des ressources ou des configurations entre plusieurs piles.

**Important**  
CloudFormation ne supprime ni ne masque les informations que vous incluez dans cette section. `Outputs` Nous vous recommandons vivement de ne pas utiliser cette section pour produire des informations sensibles, telles que des mots de passe ou des secrets.  
Les valeurs de sortie sont disponibles une fois l’opération de pile terminée. Les valeurs de sortie de la pile ne sont pas disponibles lorsque la pile se trouve dans l’un des [états](view-stack-events.md#cfn-console-view-stack-data-resources-status-codes) `IN_PROGRESS` suivants. Nous ne recommandons pas d’établir des dépendances entre un runtime de service et la valeur de sortie de la pile, car ces dernières peuvent ne pas être disponibles à tout moment.

## Syntaxe
<a name="outputs-section-syntax"></a>

La section `Outputs` se compose du nom de clé `Outputs`. Vous pouvez déclarer un maximum de 200 sorties dans un modèle.

L'exemple suivant illustre la structure de la section `Outputs`.

### JSON
<a name="outputs-section-structure-syntax.json"></a>

Utilisez des accolades pour délimiter toutes les déclarations de sortie. Délimitez les différentes sorties avec des virgules.

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

### YAML
<a name="outputs-section-structure-syntax.yaml"></a>

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

### Champs de sortie
<a name="outputs-section-structure-output-fields"></a>

La section `Outputs` peut inclure les champs suivants.

**ID logique (également appelé *nom logique*)**  
Identificateur de la sortie actuelle. L'ID logique doit être alphanumérique (`a–z`, `A–Z`, `0–9`) et ne doit correspondre à aucun autre ID logique dans le modèle.

**`Description` (facultatif)**  
Type `String` qui décrit la valeur de sortie. La valeur de la déclaration de la description doit être une chaîne littérale dont la taille doit être comprise entre 0 et 1024 octets. Vous ne pouvez pas utiliser une fonction ou un paramètre pour spécifier la description. 

**`Value` (obligatoire)**  
Valeur de la propriété retournée par la commande [describe-stacks](service_code_examples.md#describe-stacks-sdk). La valeur d’une sortie peut inclure des littéraux, des références de paramètre, des pseudo-paramètres, une valeur de mappage ou des fonctions intrinsèques.

**`Export` (facultatif)**  
Nom de la sortie de ressource à exporter pour une référence entre piles.  
Vous pouvez utiliser des fonctions intrinsèques pour personnaliser la valeur `Name` d'une exportation.  
Pour de plus amples informations, veuillez consulter [Obtenir des sorties exportées à partir d'une CloudFormation pile déployée](using-cfn-stack-exports.md).

Pour associer une condition à une sortie, définissez la condition dans la section [Conditions](conditions-section-structure.md) du modèle.

## Exemples
<a name="outputs-section-structure-examples"></a>

Les exemples suivants illustrent la fonctionnement d’une sortie de pile.

**Topics**
+ [Sortie de pile](#outputs-section-structure-examples-stack-output)
+ [Personnalisez le nom de l’exportation en utilisant `Fn::Sub`](#outputs-section-structure-examples-cross-stack)
+ [Personnalisez le nom de l’exportation en utilisant `Fn::Join`](#outputs-section-structure-examples-join-export-name)
+ [Renvoie une URL construite à l’aide de `Fn::Join`](#outputs-section-structure-examples-join-export-url)

### Sortie de pile
<a name="outputs-section-structure-examples-stack-output"></a>

Dans l'exemple suivant, la sortie nommée `BackupLoadBalancerDNSName` renvoie le nom DNS pour la ressource associée à l'ID logique `BackupLoadBalancer` uniquement lorsque la condition `CreateProdResources` a la valeur true. La sortie nommée `InstanceID` renvoie l’ID de l’instance EC2 avec l’ID logique `EC2Instance`.

#### JSON
<a name="outputs-section-structure-example.json"></a>

```
"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
<a name="outputs-section-structure-example.yaml"></a>

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

### Personnalisez le nom de l’exportation en utilisant `Fn::Sub`
<a name="outputs-section-structure-examples-cross-stack"></a>

Dans les exemples suivants, la sortie nommée `StackVPC` retourne l’ID d’un VPC et exporte ensuite la valeur pour un référencement entre piles avec le nom `VPCID` ajouté au nom de la pile.

#### JSON
<a name="outputs-section-structure-cross-stack-example.json"></a>

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

#### YAML
<a name="outputs-section-structure-cross-stack-example.yaml"></a>

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

Pour plus d’informations sur la fonction `Fn::Sub`, consultez [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-sub.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-sub.html).

### Personnalisez le nom de l’exportation en utilisant `Fn::Join`
<a name="outputs-section-structure-examples-join-export-name"></a>

Vous pouvez également utiliser cette fonction `Fn::Join` pour construire des valeurs basées sur des paramètres, des attributs de ressources et d’autres chaînes de caractères.

Les exemples suivants utilisent la fonction `Fn::Join` pour personnaliser le nom de l’exportation au lieu de la fonction `Fn::Sub`. La fonction `Fn::Join` d’exemple concatène le nom de la pile avec le nom `VPCID` en utilisant un deux-points comme séparateur.

#### JSON
<a name="outputs-section-structure-join-export-name-example.json"></a>

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

#### YAML
<a name="outputs-section-structure-join-export-name-example.yaml"></a>

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

Pour plus d’informations sur la fonction `Fn::Join`, consultez [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-join.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-join.html).

### Renvoie une URL construite à l’aide de `Fn::Join`
<a name="outputs-section-structure-examples-join-export-url"></a>

Dans l'exemple suivant, pour un modèle qui crée un WordPress site, `InstallURL` la chaîne renvoyée par un appel de `Fn::Join` fonction qui concatène`http://`, le nom DNS de la ressource`ElasticLoadBalancer`, et. `/wp-admin/install.php` La valeur de sortie ressemblerait à cela :

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

#### JSON
<a name="outputs-section-structure-examples-join-export-url.json"></a>

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

#### YAML
<a name="outputs-section-structure-examples-join-export-url.yaml"></a>

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

Pour plus d’informations sur la fonction `Fn::Join`, consultez [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-join.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-join.html).