首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >地形图能给我显示一个变化后的资源的差异吗?

地形图能给我显示一个变化后的资源的差异吗?
EN

Stack Overflow用户
提问于 2017-04-21 02:09:24
回答 2查看 4.1K关注 0票数 4

当我运行terraform plan时,它显示了一个更改的资源,它恰好是aws_s3_bucket_object中的JSON数据。但是JSON很长,很难看出是什么改变了。我怎样才能把它显示为差异呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-21 02:09:24

https://github.com/coinbase/terraform-landscape可以在这方面提供帮助。

  1. gem install terraform_landscape (可能需要在macOS上使用sudo )
  2. terraform plan | landscape

这显示了JSON更改为diff。下面是github站点的一个示例:

票数 12
EN

Stack Overflow用户

发布于 2018-07-30 04:38:35

我编写了一个bash脚本来格式化terraforms丑陋的策略输出:

代码语言:javascript
复制
#!/bin/bash

input=$( xclip -o )

old=$( echo "$input" | awk -F' => ' '{ print $1 }'  | sed 's/\\n/\n\r/g' | sed 's/\\"/"/g' | sed 's/"{/{/' | sed 's/}"/}/' )
new=$( echo "$input" | awk -F' => ' '{ print $2 }'  | sed 's/\\n/\n\r/g' | sed 's/\\"/"/g' | sed 's/"{/{/' | sed 's/}"/}/' )

echo "----------------------------------------------------------------------------------------------"
echo "old:"
echo "$old" | jq '.'
echo "----------------------------------------------------------------------------------------------"
echo "new:"
echo "$new" | jq '.'
echo "----------------------------------------------------------------------------------------------"
echo "diff:"
diff -u --color <( echo "$old" | jq '.' ) <( echo "$new" | jq '.' )
echo "----------------------------------------------------------------------------------------------"

它显示了三个输出块,旧的,新的,然后差异。它利用了xclipjqdiff。使用是(在Linux上)突出显示terrafrom输出,然后调用脚本(我称之为tf-diff,它位于~/bin中)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43532785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档