2016-09-04 3 views
1
"aws ec2 create-tags --resources xxxxxx --tags Key=Team,Value=everybody --region { \"Ref\" : \"region\" } --out text\n" 

La ligne ci-dessus/commande J'utilise dans mon CloudFormation userData, il ne CHAISE, je reçois l'erreur suivante quand je débogués:utilisant ref CloudFormation avec awscli dans userData

aws: error: argument --region: Invalid choice, valid choices are: 

ap-southeast-1 | us-gov-west-1 
ap-northeast-1 | eu-west-1 
fips-us-gov-west-1 | us-west-1 
us-west-2 | us-east-1 
cn-north-1 | ap-southeast-2 
sa-east-1 

Mon Le nom de la région est utilisé comme paramètre d'entrée pour le script Cloudformation. C'est pourquoi j'ai utilisé ref en option --region.

Est-ce faux? Est-il possible d'utiliser ref avec des commandes awscli dans Cloudformation?

Merci

Répondre

1

Le UserData est une chaîne dans votre modèle de formation Cloud et donc la {"Ref": "region"} n'est pas dépliée de sorte que le {"Ref": "region"} littéral est transmis à l'argument --region.

vous pouvez essayer

{"Fn::Join": [" ", ["aws ec2 create-tags --resources xxxxxx --tags Key=Team,Value=everybody --region", {"Ref": "region"}, "--out text\n"]]} 

Les documents fournissent des informations sur la fonction Fn::Joinhttp://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html

également ce modèle d'exemple montre UserData y compris un Ref pour le paramètre région

https://s3.amazonaws.com/cloudformation-templates-us-east-1/vpc_single_instance_in_subnet.template