0

我有一份清理未使用的健康检查的工作。如果有父检查导致错误,则其中一些无法删除:

Invalid parameter : Health check SOMEHEALTHCHECKID is still referenced from parent health check(s): SOMEHEALTHCHECKID-PARENT

如何列出健康检查的父母?我希望能够以比解析错误消息字符串更稳定的方法获取父检查的 id。

4

1 回答 1

0

我的解决方案是收集 route53 中的所有健康检查,并解析它们以查找与CALCULATED配置类型匹配的任何内容:

check[:health_check_config][:type] == "CALCULATED"

然后Aws::Route53::Errors::InvalidInput在健康检查删除期间收到错误后,我将搜索我的父检查集合,以查看是否有任何父检查在其child_health_checks数组中包含失败的检查:

parent_checks = parents.select{|parent_check| 
  parent_check[:health_check_config][:child_health_checks].include?(check[:id])
}

然后我可以删除所有匹配的父检查,然后重试常规删除。

于 2019-09-09T18:16:11.067 回答