

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.

# Ressources du module de référence dans les CloudFormation modèles
<a name="module-ref-resources"></a>

Dans les CloudFormation modèles, vous devez souvent définir les propriétés d'une ressource en fonction du nom ou de la propriété d'une autre ressource. Pour de plus amples informations, veuillez consulter [Référencement des ressources](resources-section-structure.md#using-cross-resource-references).

Pour référencer une ressource contenue dans un module de votre CloudFormation modèle, vous devez combiner deux noms logiques :
+ Le nom logique que vous avez donné au module lui-même lorsque vous l’avez inclus dans votre modèle.
+ Le nom logique de la ressource spécifique de ce module.

Vous pouvez combiner ces deux noms logiques avec ou sans point (.) entre eux. Par exemple, si le nom logique du module est `MyModule` et que le nom logique de la ressource est `MyBucket`, vous pouvez faire référence à cette ressource sous le nom `MyModule.MyBucket` ou `MyModuleMyBucket`.

Pour trouver les noms logiques des ressources à l'intérieur d'un module, vous pouvez consulter le schéma du module, qui est disponible dans le CloudFormation registre ou en utilisant l'[https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeType.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeType.html)opération. Le schéma répertorie toutes les ressources et leurs noms logiques qui font partie du module.

Une fois que vous avez le nom logique complet, vous pouvez utiliser des CloudFormation fonctions telles que `GetAtt` et `Ref` pour accéder aux valeurs des propriétés sur les ressources du module. 

Par exemple, vous avez un module `My::S3::SampleBucket::MODULE` qui contient une ressource `AWS::S3::Bucket` avec le nom logique `S3Bucket`. Pour faire référence au nom de ce compartiment à l’aide de la fonction `Ref`, vous combinez le nom du module dans votre modèle (`MyBucket`) avec le nom logique de la ressource dans le module (`S3Bucket`). Le nom logique complet est `MyBucket.S3Bucket` ou `MyBucketS3Bucket`.

**Exemple de modèle**  
Le modèle suivant crée un compartiment S3 à l’aide du module `My::S3::SampleBucket::MODULE`. Il crée également une file d’attente Amazon SQS et lui attribue le même nom que le nom du compartiment du module. De plus, le modèle génère l’Amazon Resource Name (ARN) du compartiment S3 créé.

```
# Template that uses My::S3::SampleBucket::MODULE
Parameters:
  BucketName:
    Description: Name for your sample bucket
    Type: String
Resources:
  MyBucket:
    Type: My::S3::SampleBucket::MODULE
    Properties:
      BucketName: !Ref BucketName
  exampleQueue:
    Type: AWS::SQS::Queue
    Properties:
      QueueName: !Ref MyBucket.S3Bucket
Outputs:
  BucketArn:
    Value: !GetAtt MyBucket.S3Bucket.Arn
```