我想使用boto3创建AWS资源组。在资源组中,我想添加带有标签“ name”:“ Jenkins”的ec2实例。下面是boto3文档中建议的语法。
response = client.create_group(
Name='string',
Description='string',
ResourceQuery={
'Type': 'TAG_FILTERS_1_0'|'CLOUDFORMATION_STACK_1_0',
'Query': 'string'
},
Tags={
'string': 'string'
}
)
我阅读了文档,但是我不了解我的情况是什么查询,也找不到在线使用boto3创建资源组的任何示例。在ResourceQuery字典中,我可以将“类型”用作“ TAG_FILTERS_1_0”,但不确定“查询”是什么。如果我能获得创建资源组的示例说明,那将是很棒的。谢谢
更新 在遵循@Jarmod建议之后,我尝试了以下代码
client = boto3.client('resource-groups', **conn_args)
response = client.create_group(
Name='JenkinsResource',
Description='JenkinsResourceGrp',
ResourceQuery={
'Type': 'TAG_FILTERS_1_0',
'Query': [{"Key": "name", "Values": "Jenkins"}]
}
)
我最终遇到以下错误。
参数ResourceQuery.Query的无效类型,值:[{'Key':'name','Values':'Jenkins'}],类型:,有效类型:
答案 0 :(得分:1)
我能够使它与Query对象一起工作:
{
'ResourceTypeFilters': ['AWS::AllSupported'],
'TagFilters': [{
'Values': ['Jenkins'],
'Key': 'name'
}]
}
然后,因为它期望一个字符串而不是一个json对象,所以我做了一个json.dumps(query)。
我是通过在Web控制台中生成它,然后查看CloudTrail日志以查看控制台的功能来发现它的:)