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
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.
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'DescribeTypeopé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