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 Ressources de référencement.
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 au sein 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 le mêmeMyBucket
, vous pouvez désigner cette ressource par le biais de MyModule.MyBucket
ouMyModuleMyBucket
.
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 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 My::S3::SampleBucket::MODULE
module qui contient une AWS::S3::Bucket
ressource dont le nom est logiqueS3Bucket
. Pour faire référence au nom de ce compartiment à l'aide de la Ref
fonction, vous devez combiner le nom du module dans votre template (MyBucket
) avec le nom logique de la ressource dans le module (S3Bucket
). Le nom logique complet est MyBucket.S3Bucket
ouMyBucketS3Bucket
.
Exemple de modèle
L'exemple de modèle suivant crée un compartiment S3 à l'aide du My::S3::SampleBucket::MODULE
module. Il crée également une SQS file d'attente Amazon et définit son nom de manière à ce qu'il soit identique au nom du bucket indiqué dans le module. En outre, le modèle affiche le nom de ressource Amazon (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