

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.

# Fonctions
<a name="ebextensions-functions"></a>

Vous pouvez utiliser des fonctions dans vos fichiers de configuration pour renseigner les valeurs des propriétés de ressource à l'aide des informations issues d'autres ressources ou de paramètres d'option de configuration Elastic Beanstalk. Elastic CloudFormation Beanstalk prend en charge les `Ref` fonctions `Fn::GetAtt` (`Fn::Join`,,) et une fonction spécifique à Elastic Beanstalk,. `Fn::GetOptionSetting`

**Topics**
+ [Réf](#ebextensions-functions-ref)
+ [Ventilateur : GetAtt](#ebextensions-functions-getatt)
+ [Fn::Join](#ebextensions-functions-join)
+ [Ventilateur : GetOptionSetting](#ebextensions-functions-getoptionsetting)

## Réf
<a name="ebextensions-functions-ref"></a>

Permet `Ref` de récupérer la représentation sous forme de chaîne par défaut d'une AWS ressource. La valeur renvoyée par `Ref` dépend du type de ressource et parfois d'autres facteurs également. Par exemple, un groupe de sécurité ([AWS::EC2::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html)) renvoie le nom ou l'ID du groupe de sécurité, selon que le groupe de sécurité se trouve dans un [Amazon Virtual Private Cloud (Amazon](https://docs.aws.amazon.com/vpc/latest/userguide/) VPC) par défaut, un VPC EC2 classique ou un VPC personnalisé.

```
{ "Ref" : "resource name" }
```

**Note**  
Pour plus d'informations sur chaque type de ressource, y compris la ou les valeurs de renvoi de `Ref`, consultez [Référence des types de ressources AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) dans le *Guide de l'utilisateur CloudFormation *.

À partir de l'exemple de [hook de cycle de vie Auto Scaling](environment-resources.md) :

```
Resources:
  lifecyclehook:
    Type: AWS::AutoScaling::LifecycleHook
    Properties:
      AutoScalingGroupName: { "Ref" : "AWSEBAutoScalingGroup" }
```

Vous pouvez également l'utiliser `Ref` pour récupérer la valeur d'un CloudFormation paramètre défini ailleurs dans le même fichier ou dans un autre fichier de configuration.

## Ventilateur : GetAtt
<a name="ebextensions-functions-getatt"></a>

Permet `Fn::GetAtt` de récupérer la valeur d'un attribut d'une AWS ressource.

```
{ "Fn::GetAtt" : [ "resource name", "attribute name"] }
```

À partir de l'exemple de [hook de cycle de vie Auto Scaling](environment-resources.md) :

```
Resources:
  lifecyclehook:
    Type: AWS::AutoScaling::LifecycleHook
    Properties:
      RoleARN: { "Fn::GetAtt" : [ "hookrole", "Arn"] }
```

Voir [Fn : : GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) pour plus d'informations.

## Fn::Join
<a name="ebextensions-functions-join"></a>

Utilisez `Fn::Join` pour associer des chaînes avec un délimiteur. Les chaînes peuvent être codées en dur ou utiliser le résultat de `Fn::GetAtt` ou `Ref`.

```
{ "Fn::Join" : [ "delimiter", [ "string1", "string2" ] ] }
```

Pour plus d'informations, consultez [Fn::Join](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html).

## Ventilateur : GetOptionSetting
<a name="ebextensions-functions-getoptionsetting"></a>

Utilisez `Fn::GetOptionSetting` pour récupérer la valeur d'un paramètre d'[option de configuration](command-options.md) appliqué à l'environnement. 

```
"Fn::GetOptionSetting":
  Namespace: "namespace"
  OptionName: "option name"
  DefaultValue: "default value"
```

À partir de l'exemple [stockage de clés privées](https-storingprivatekeys.md) :

```
Resources:
  AWSEBAutoScalingGroup:
    Metadata:
      AWS::CloudFormation::Authentication:
        S3Auth:
          type: "s3"
          buckets: ["elasticbeanstalk-us-west-2-123456789012"]
          roleName: 
            "Fn::GetOptionSetting": 
              Namespace: "aws:autoscaling:launchconfiguration"
              OptionName: "IamInstanceProfile"
              DefaultValue: "aws-elasticbeanstalk-ec2-role"
```