【问题标题】:AWS/Ansible - Is there a simple way of looking up the ID for a route53 health check using only the name tag?AWS/Ansible - 是否有一种简单的方法可以仅使用名称标签查找 ID 以进行 route53 健康检查?
【发布时间】:2017-03-09 13:39:10
【问题描述】:

我正在编写一个与 AWS CLI 交互的 ansible playbook。

我希望能够根据名称标签查找 route53 健康检查。例如,我希望能够根据其名称标签测试 route53 健康检查是否已经存在。或者,我希望能够基于其他运行状况检查创建聚合运行状况检查,因此我需要能够根据名称标签查找子运行状况检查的 ID。

我可以查找现有健康检查的列表

aws route53 list-health-checks 

但是,这并不能满足我的需要,因为它会返回所有运行状况检查的详细信息,但仅返回 ID。它不返回任何关于标签的详细信息,例如:

UK165342:~ rsaunderson$ aws route53 list-health-checks
{
    "HealthChecks": [
        {
            "HealthCheckConfig": {
                "InsufficientDataHealthStatus": "LastKnownStatus",
                "Type": "CLOUDWATCH_METRIC",
                "AlarmIdentifier": {
                    "Region": "eu-west-1",
                    "Name": "my cloudwatch alert name"
                },
                "Inverted": false
            },
            "CallerReference": "20363f2b-f482-419d-a5bc-47646d68af90",
            "HealthCheckVersion": 1,
            "Id": "03ae403b-c33b-4568-8552-7931b2cadc0e"
        }
    ]
}

我可以查找健康检查的标签,但前提是我已经知道健康检查的 ID。例如:

UK165342:~ rsaunderson$ aws route53 list-tags-for-resource --resource-type healthcheck --resource-id 5bb5e893-c50b-410c-9f84-b9ef3d5ee566
{
    "ResourceTagSet": {
        "ResourceType": "healthcheck",
        "ResourceId": "5bb5e893-c50b-410c-9f84-b9ef3d5ee566",
        "Tags": [
            {
                "Value": "some R53 health check name",
                "Key": "Name"
            }
        ]
    }
}

可以获取所有个健康检查ID的列表,然后为每个单独查找标签,但这似乎非常低效。有一个更好的方法吗?可能使用自定义 ansible 模块?

【问题讨论】:

    标签: amazon-web-services ansible aws-cli amazon-route53


    【解决方案1】:

    不幸的是,您拥有最好的(如果效率低下)解决方案。 Route53 中没有允许根据标签过滤健康检查的 API。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-28
      • 2013-03-13
      • 1970-01-01
      • 2021-05-22
      • 1970-01-01
      • 2010-10-01
      相关资源
      最近更新 更多