使用boto3创建AWS资源组

时间:2019-08-19 18:15:00

标签: aws-sdk boto3 aws-resource-group

我想使用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'}],类型:,有效类型:

1 个答案:

答案 0 :(得分:1)

我能够使它与Query对象一起工作:

{
    'ResourceTypeFilters': ['AWS::AllSupported'],
    'TagFilters': [{
        'Values': ['Jenkins'],
        'Key': 'name'
    }]
}

然后,因为它期望一个字符串而不是一个json对象,所以我做了一个json.dumps(query)。

我是通过在Web控制台中生成它,然后查看CloudTrail日志以查看控制台的功能来发现它的:)