visual-studio-code - 如何导出导入资源的 HCL 进行编辑
问题描述
我们正在使用 Terraform 来更轻松、更统一地扩展 New Relic 仪表板。这是因为每次启动新客户和/或新产品区域时,我们都需要重新创建所有现有的仪表板(目前有几十个)。因此,我希望避免为每个现有仪表板编写代码,并希望找到一种将现有 NR1 仪表板导入 Terraform 的方法。
在Example Usage: Create a New Relic One Dashboard的最底部,几乎作为脚注,文档提到可以使用其 GUID 导入 New Relic 仪表板。好吧,这只是有点用处,因为 NR1 仪表板似乎没有 GUID,至少不像 OG 仪表板那样。我能够在他们离开之前导入一个 Insights 仪表板,但无法弄清楚如何获取代码,这当然是重点。
是否可以在导入后将 HCL 导出为 VS Code,或者我们是否必须重新编码和测试我们现有的每个仪表板?感谢您的时间。
解决方案
目前 terraform 没有从现有基础设施生成代码的内置方法。确实有第三方项目,如terraformer,但不幸的是,他们不支持 New Relic。
你可以做的是:
- 创建一个虚拟资源(例如从 terraform 注册表示例中粘贴)
- 通过 guid 导入仪表板
- 运行 terraform plan 并检查 terraform 会破坏/更改的内容,然后您可以轻松地重写它,直到您的仪表板没有任何更改。
这有点 hacky,但我过去将它用于云基础架构,效果非常好。
推荐阅读
- r - 选择分段回归中的断点数
- excel - 在 Excel 中的 Word 文档中插入可调整表格
- javascript - 快速错误处理:向前端发送消息
- java - 在 Java 类文件中使用 0xcafebabe 来识别字节顺序?
- c++ - 在 C++ 中多次调用给定函数时,有没有办法引发编译时错误?
- r - 为 R 数据框的一行中的所有文本添加下划线
- amazon-web-services - 为什么对 API Gateway 假定角色使用 Lambda 资源权限?
- javascript - Google Script App Web App 是否有可能填充我网页的文本框?
- powershell - Powershell 单例数组
- racket - 为什么我的函数返回的列表结果看起来很有趣?