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.
Dans CloudFormation, vous pouvez utiliser les paramètres du modèle pour personnaliser vos piles en fournissant des valeurs d'entrée lors de la création ou de la mise à jour des piles. Ces paramètres vous permettent de modifier certains aspects de la pile en fonction de vos besoins. Pour plus d'informations sur la définition des paramètres du modèle, consultezCloudFormation modèle Parameters syntaxe.
De même, les modules peuvent également avoir des paramètres. Ces paramètres de module vous permettent de saisir des valeurs personnalisées dans le module à partir du modèle (ou d'un autre module) qui l'utilise. Le module peut ensuite utiliser ces valeurs personnalisées pour définir les valeurs des propriétés des ressources qu'il contient.
Vous pouvez également définir des paramètres de modèle qui définissent les propriétés du module, afin de pouvoir saisir des valeurs qui sont transmises au module au moment de l'opération de pile.
Si un module contient un module imbriqué qui possède ses propres paramètres de module, vous pouvez soit :
-
spécifier les valeurs des paramètres du module imbriqué directement dans le module parent ;
-
définir les paramètres correspondants du module dans le module parent qui permettent de configurer les paramètres du module imbriqué avec le modèle (ou le module) dans lequel le module parent est contenu.
Utilisation des paramètres de modèle pour spécifier les valeurs des paramètres de module
L'exemple suivant montre comment définir des paramètres de modèle qui transmettent des valeurs à un module.
Ce modèle My::S3::SampleBucket::MODULE
définit un paramètre de modèleBucketName
, qui permet à l'utilisateur de spécifier un nom de compartiment S3 pendant l'opération de pile.
# Template containing 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
Spécification des propriétés sur les ressources d'un module enfant à partir du module parent
L'exemple suivant illustre comment spécifier des valeurs de paramètre dans un module imbriqué dans un autre module.
Ce premier module, My::S3::SampleBucketPrivate::MODULE
, sera le module enfant. Il définit deux paramètres : BucketName
et AccessControl
. Les valeurs spécifiées pour ces paramètres permettent de spécifier les propriétés BucketName
et AccessControl
de la ressource AWS::S3::Bucket
contenue par le module. Ci-dessous se trouve le fragment de modèle pour My::S3::SampleBucketPrivate::MODULE
.
# My::S3::SampleBucketPrivate::MODULE
AWSTemplateFormatVersion: 2010-09-09
Description: A sample S3 Bucket with Versioning and DeletionPolicy.
Parameters:
BucketName:
Description: Name for the bucket
Type: String
AccessControl:
Description: AccessControl for the bucket
Type: String
Resources:
S3Bucket:
Type: 'AWS::S3::Bucket'
Properties:
BucketName: !Ref BucketName
AccessControl: !Ref AccessControl
DeletionPolicy: Retain
VersioningConfiguration:
Status: Enabled
Ensuite, le module précédent est imbriqué dans un module parent, My::S3::SampleBucket::MODULE
. Le module parent, My::S3::SampleBucket::MODULE
, définit les paramètres du module enfant de la manière suivante :
-
Il définit le
AccessControl
paramètre deMy::S3::SampleBucketPrivate::MODULE
àPrivate
. -
Pour
BucketName
, il définit un paramètre de module qui permettra de spécifier le nom du compartiment dans le modèle (ou le module) qui contientMy::S3::SampleBucket::MODULE
.
# My::S3::SampleBucket::MODULE
AWSTemplateFormatVersion: 2010-09-09
Description: A sample S3 Bucket. With Private AccessControl.
Parameters:
BucketName:
Description: Name for your sample bucket
Type: String
Resources:
MyBucket:
Type: 'My::S3::SampleBucketPrivate::MODULE'
Properties:
BucketName: !Ref BucketName
AccessControl: Private
Spécification des contraintes pour les paramètres de module
Les paramètres du module ne prennent pas en charge l'application des contraintes. Pour vérifier les contraintes d'un paramètre de module, créez un paramètre de modèle avec les contraintes souhaitées. Référencez ensuite ce paramètre de modèle dans le paramètre de votre module. Pour plus d'informations sur la définition des paramètres du modèle, consultezCloudFormation modèle Parameters syntaxe.