La section Parameters d'un modèle définit les valeurs d'entrée que les utilisateurs spécifient lors de la création de la pile, rendant ainsi les modèles flexibles et réutilisables.
Syntaxe
Chaque paramètre possède un nom et un ensemble de propriétés. Les noms de paramètres ne peuvent contenir que des lettres et des chiffres et doivent être uniques au sein d'un modèle. Utilisez la propriété Label pour définir un alias.
Le tableau suivant décrit les propriétés prises en charge.
|
Propriété |
Obligatoire |
Description |
|
Type |
Oui |
Le type de données du paramètre. Valeurs possibles :
Remarque
AllowedPattern ne prend pas en charge les types |
|
Default |
Non |
La valeur par défaut d'un paramètre. Si aucune valeur n'est spécifiée lors de la création de la pile, ROS utilise cette valeur par défaut. Si aucune valeur par défaut n'est définie, une erreur est signalée. Remarque
Si la valeur par défaut est définie sur |
|
AllowedValues |
Non |
Les valeurs valides d'un paramètre. |
|
AllowedPattern |
Non |
Une expression régulière permettant de valider les paramètres de type String. L'application de cette propriété à des paramètres non-String provoque une erreur. Ajoutez deux barres obliques inverses (\\) avant chacun des caractères spéciaux suivants :
Remarque
Un trait d'union (-) utilisé comme premier ou dernier caractère dans une plage n'a pas besoin d'être échappé. Exemple : [a-z-]. |
|
MaxLength |
Non |
Nombre maximal de caractères autorisés pour un paramètre de type String. |
|
MinLength |
Non |
Nombre minimal de caractères requis pour un paramètre de type String. |
|
MaxValue |
Non |
Valeur numérique maximale autorisée pour un paramètre de type Number. |
|
MinValue |
Non |
Valeur numérique minimale autorisée pour un paramètre de type Number. |
|
NoEcho |
Non |
Lorsqu'elle est définie sur |
|
Confirm |
Non |
Exige que la valeur du paramètre soit saisie deux fois lorsque NoEcho est défini sur Remarque
La propriété Confirm ne peut être définie sur |
|
Description |
La description d'un paramètre. Prend en charge les valeurs localisées :
Remarque
La console affiche la description correspondant au paramètre de langue actuel. |
|
|
ConstraintDescription |
Non |
Le message d'erreur affiché lorsqu'une contrainte de paramètre est violée. |
|
Label |
Non |
Un alias encodé en UTF-8 pour le paramètre. Dans les formulaires web basés sur des modèles, les valeurs |
|
AssociationProperty |
Non |
Valide automatiquement les valeurs des paramètres et fournit une liste d'options valides. Pour plus d'informations sur les valeurs AssociationProperty prises en charge par ROS et sur les exemples, consultez AssociationProperty et AssociationPropertyMetadata. |
|
AssociationPropertyMetadata |
Non |
Une carte qui contraint AssociationProperty et filtre les éléments correspondants. Cette propriété est de type Map. Pour plus d'informations sur la correspondance entre AssociationProperty et AssociationPropertyMetadata ainsi que sur les exemples, consultez AssociationProperty et AssociationPropertyMetadata. |
|
TextArea |
Non |
Indique si le paramètre prend en charge les sauts de ligne. Valeurs possibles :
Dans l'exemple suivant, le paramètre Content prend en charge les sauts de ligne :
|
|
Required |
Non |
Indique si le paramètre est obligatoire. Valeurs possibles :
Dans l'exemple suivant, le paramètre ECSInstanceId est obligatoire.
Remarque
La propriété Required affecte uniquement l'affichage frontal et n'applique pas de validation côté backend. |
|
Placeholder |
Non |
Une indication affichée dans le champ de saisie d'un paramètre.
|
Exemple : Définir le paramètre InstanceType
Supposons que vous créiez une pile pour une application web contenant une instance SLB, deux instances ECS et une instance ApsaraDB RDS. Vous pouvez choisir différents types d'instance ECS en fonction des exigences de la charge de travail. Le code suivant définit le paramètre InstanceType dans un modèle :
Parameters:
InstanceType:
Type: String
AllowedValues:
- ecs.t1.small
- ecs.s1.medium
- ecs.m1.medium
- ecs.c1.large
Default: ecs.t1.small
Label: ECS Instance Type
Description: Select an instance type. Default value: ecs.t1.small. Valid values: ecs.t1.small, ecs.s1.medium, ecs.m1.medium, and ecs.c1.large.
Avec cette définition, vous pouvez sélectionner une valeur différente pour InstanceType à chaque création de pile. Si le paramètre InstanceType est omis, la valeur par défaut ecs.t1.small est utilisée.
Le code suivant fait référence au paramètre InstanceType dans une définition de ressource :
Webserver:
Type: ALIYUN::ECS::Instance
InstanceType:
Ref: InstanceType