Comment utiliser plusieurs valeurs pour des paramètres individuels dans un modèle AWS CloudFormation ?
Dernière mise à jour : 20/08/2020
Je souhaite créer ou mettre à jour une pile à partir d'un modèle AWS CloudFormation en utilisant plusieurs valeurs pour des paramètres individuels.
Brève description
Vous pouvez transmettre plusieurs valeurs pour des paramètres individuels dans un modèle AWS CloudFormation des manières suivantes :
- Utiliser des types de paramètres spécifiques à AWS pour sélectionner des valeurs à partir d'une liste préremplie de valeurs AWS existantes à partir d'un compte AWS
- Utilisez les types de paramètres CommaDelimitedList pour spécifier vos propres valeurs
Solution
Utiliser des types de paramètres spécifiques à AWS pour sélectionner des valeurs à partir d'une liste préremplie de valeurs AWS existantes à partir d'un compte AWS
Important : AWS CloudFormation valide la valeur d'entrée que vous sélectionnez par rapport aux valeurs existantes dans votre compte.
Dans les exemples de modèles AWS CloudFormation suivants, le paramètre avec la clé SecurityGroups spécifie un type de paramètre spécifique à AWS qui peut accepter plusieurs valeurs pour SecurityGroupIds.
Modèle JSON :
{
"AWSTemplateFormatVersion": "2010-09-09",
"Parameters": {
"SecurityGroups": {
"Type": "List<AWS::EC2::SecurityGroup::Id>",
"Description": "The list of SecurityGroupIds in your Virtual Private Cloud (VPC)"
}
},
"Resources": {
"MyEC2Instance": {
"Type": "AWS::EC2::Instance",
"Properties": {
"ImageId": "ami-79fd7eee",
"KeyName": "testkey",
"SecurityGroupIds": {
"Ref": "SecurityGroups"
}
}
}
}
}
Modèle YAML :
AWSTemplateFormatVersion: 2010-09-09
Parameters:
SecurityGroups:
Type: 'List<AWS::EC2::SecurityGroup::Id>'
Description: The list of SecurityGroupIds in your Virtual Private Cloud (VPC)
Resources:
MyEC2Instance:
Type: 'AWS::EC2::Instance'
Properties:
ImageId: ami-79fd7eee
KeyName: testkey
SecurityGroupIds: !Ref SecurityGroups
Utiliser des types de paramètres CommaDelimitedList pour saisir des valeurs d'entrée
Dans les exemples de modèles AWS CloudFormation suivants, le paramètre avec la clé SecurityGroups spécifie un type CommaDelimitedList qui peut accepter plusieurs valeurs pour SecurityGroupIds.
Modèle JSON :
{
"AWSTemplateFormatVersion": "2010-09-09",
"Parameters": {
"SecurityGroups": {
"Type": "CommaDelimitedList",
"Description": "The list of SecurityGroupIds in your Virtual Private Cloud (VPC)",
"Default": "sg-a123fd85, sg-b456ge94"
}
},
"Resources": {
"MyEC2Instance": {
"Type": "AWS::EC2::Instance",
"Properties": {
"ImageId": "ami-79fd7eee",
"KeyName": "testkey",
"SecurityGroupIds": {
"Ref": "SecurityGroups"
}
}
}
}
}
Modèle YAML :
AWSTemplateFormatVersion: 2010-09-09
Parameters:
SecurityGroups:
Type: CommaDelimitedList
Description: The list of SecurityGroupIds in your Virtual Private Cloud (VPC)
Default: sg-a123fd85, sg-b456ge94
Resources:
MyEC2Instance:
Type: 'AWS::EC2::Instance'
Properties:
ImageId: ami-79fd7eee
KeyName: testkey
SecurityGroupIds: !Ref SecurityGroups
Informations connexes
Cet article vous a-t-il été utile ?
Besoin d'aide pour une question technique ou de facturation ?