首页 > 解决方案 > 如何导出导入资源的 HCL 进行编辑

问题描述

我们正在使用 Terraform 来更轻松、更统一地扩展 New Relic 仪表板。这是因为每次启动新客户和/或新产品区域时,我们都需要重新创建所有现有的仪表板(目前有几十个)。因此,我希望避免为每个现有仪表板编写代码,并希望找到一种将现有 NR1 仪表板导入 Terraform 的方法。

在Example Usage: Create a New Relic One Dashboard的最底部,几乎作为脚注,文档提到可以使用其 GUID 导入 New Relic 仪表板。好吧,这只是有点用处,因为 NR1 仪表板似乎没有 GUID,至少不像 OG 仪表板那样。我能够在他们离开之前导入一个 Insights 仪表板,但无法弄清楚如何获取代码,这当然是重点。

是否可以在导入后将 HCL 导出为 VS Code,或者我们是否必须重新编码和测试我们现有的每个仪表板?感谢您的时间。

标签: visual-studio-codeterraformnewrelichcl

解决方案


目前 terraform 没有从现有基础设施生成代码的内置方法。确实有第三方项目,如terraformer,但不幸的是,他们不支持 New Relic。

你可以做的是:

  1. 创建一个虚拟资源(例如从 terraform 注册表示例中粘贴)
  2. 通过 guid 导入仪表板
  3. 运行 terraform plan 并检查 terraform 会破坏/更改的内容,然后您可以轻松地重写它,直到您的仪表板没有任何更改。

这有点 hacky,但我过去将它用于云基础架构,效果非常好。


推荐阅读