I'm referring to the following AWS documentation, attempting to use the CLI (from Windows) to launch an EC2 instance with tags specified at launch time:

https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#Using_Tags_CLI

I ran into some issues, so I decided to try the exact command as specified in the documentation:

aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type t2.micro --key-name MyKeyPair --subnet-id subnet-6e7f829e --tag-specifications 'ResourceType=instance,Tags=[{Key=webserver,Value=production}]' 'ResourceType=volume,Tags=[{Key=cost-center,Value=cc123}]'

This results in the following error:

Error parsing parameter '--tag-specifications': Expected: '=', 
received: ''' for

So, how exactly do you specify the tags for run-instances?


After much frustration and searching, I stumbled across a page that explained that the syntax for run-instances is documented incorrectly. I understand just enough Japanese to see the "mistake" and "correct" labels on the examples and see that the single-quotes around the values for the tag-specifications cause it to fail. The correct syntax is:

aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type t2.micro --key-name MyKeyPair --subnet-id subnet-6e7f829e --tag-specifications ResourceType=instance,Tags=[{Key=webserver,Value=production}] ResourceType=volume,Tags=[{Key=cost-center,Value=cc123}]

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.