2014-11-21 62 views
4

我想了解aws ec2 cli電話。我期待描述上的自定義標籤(vpcname = myvpc所有VPC然後過濾器,嘗試多種組合,我不斷收到有關格式和使用--filters的衝突的錯誤後,但是,使用作爲參考[http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpcs.html][1]在describe-vpcs中通過標記進行過濾的正確語法是什麼?

AWS --profile我的資料--region歐盟 - 西1 EC2描述-​​的VPC --filters vpcname,myvpc

然而,這將返回

Error parsing parameter '--filters': should be: Key value pairs, where values are separated by commas, and multiple pairs are separated by spaces. 
--filters Name=string1,Values=string1,string2 Name=string1,Values=string1,string2 

於是想方設法

AWS --profile我的資料--region EU-西-1 EC2描述-​​的VPC --filters 名稱= vpcname,設置值= myvpc

並將其返回

A client error (InvalidParameterValue) occurred when calling the DescribeVpcs operation: The filter 'vpcname' is invalid 

所以嘗試其他幾種組合

aws --profile myProfile --region eu-west-1 ec2 describe-vpcs --filters tag :Name=vpcname,Values=myvpc 

Error parsing parameter '--filters': should be: Key value pairs, where values are separated by commas, and multiple pairs are separated by spaces. 
--filters Name=string1,Values=string1,string2 Name=string1,Values=string1,string2 

有關如何格式化此請求的任何建議?

回答

12

你已經非常接近解決它 - 唯一的問題是你沒有指定valid filter for describe-vpcs。下面是這將是有關你的使用情況過濾器:

tag:key=*value* - The key/value combination of a tag assigned to the resource. 

因此,當它被要求Name=string1,Values=string1...,預計:

  • 名稱=標籤:標籤名
  • 值= TagValue

試試這個,替代我自己用不同的自定義標籤:

aws ec2 describe-vpcs --filters Name=tag:vpcname,Values=myvpc 
+0

感謝@Hyper該訣竅。藝術 – 2014-11-25 03:52:42

+0

你可以看看下面的問題,我已經將你的答案應用到一個新的CLI,但沒有得到預期的結果http://stackoverflow.com/questions/27119010/correct-aws-cli-syntax-to- find-find-a-vpc-security-group-in-a-non-default-vpc感謝Art – 2014-11-25 04:49:56

0

定義在TAG變量和值標籤在Value變量:

TAG=vpcname 
VALUE=myvpc 
aws ec2 describe-vpcs |\ 
jq -r ".Vpcs[] | select (.Tags[] | select(.Key==\"$TAG\") |\ 
select(.Value==\"$VALUE\"))" 
相關問題