因此,我有一些不同类型的AWS资源标记为xxx/yyy/<generated_id>
。我需要使用go-sdk来获取它们。
这是子网的示例代码,对于其他所有资源,过滤器看起来都相同。
这不起作用。
var resp *ec2.DescribeSubnetsOutput
resp, err = d.ec2Client().DescribeSubnets(&ec2.DescribeSubnetsInput{
Filters: []*ec2.Filter{
{
Name: aws.String("vpc-id"),
Values: []*string{&d.VpcId},
},
{
Name: aws.String(fmt.Sprintf(`tag:"xxx/yyy.[*]"`),
Values: []*string{aws.String("owned")},
},
},
})
这样做:
aws ec2 describe-subnets --filters `Name=tag:"xxx/yyy.[*]",Values=owned`
我显然做错了什么,有人可以指出吗?
答案 0 :(得分:0)
API文档中没有任何内容可以建议DescribeSubnets
接受过滤器名称中的正则表达式:https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSubnets.html
如果它可以在CLI中运行,则CLI可能会在SDK的基础上进行CLI。 Go SDK类似于任何其他AWS开发工具包;它以特定于语言的方式公开AWS API。 AWS CLI在API之上添加了便利功能,以使其在命令行上更加有用,但这并不意味着这些功能由API或任何已发布的SDK公开。