我有一份清理未使用的健康检查的工作。如果有父检查导致错误,则其中一些无法删除:
Invalid parameter : Health check SOMEHEALTHCHECKID is still referenced from parent health check(s): SOMEHEALTHCHECKID-PARENT
如何列出健康检查的父母?我希望能够以比解析错误消息字符串更稳定的方法获取父检查的 id。
我有一份清理未使用的健康检查的工作。如果有父检查导致错误,则其中一些无法删除:
Invalid parameter : Health check SOMEHEALTHCHECKID is still referenced from parent health check(s): SOMEHEALTHCHECKID-PARENT
如何列出健康检查的父母?我希望能够以比解析错误消息字符串更稳定的方法获取父检查的 id。
我的解决方案是收集 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])
}
然后我可以删除所有匹配的父检查,然后重试常规删除。