diff --git a/terraform/diff.go b/terraform/diff.go index 713c0ad17..361b6eeb8 100644 --- a/terraform/diff.go +++ b/terraform/diff.go @@ -33,10 +33,19 @@ func (d *Diff) String() string { sort.Strings(names) for _, name := range names { + rdiff := d.Resources[name] + buf.WriteString(name + "\n") - rdiff := d.Resources[name] - for attrK, attrDiff := range rdiff.Attributes { + keys := make([]string, 0, len(rdiff.Attributes)) + for key, _ := range rdiff.Attributes { + keys = append(keys, key) + } + sort.Strings(keys) + + for _, attrK := range keys { + attrDiff := rdiff.Attributes[attrK] + v := attrDiff.New if attrDiff.NewComputed { v = "" diff --git a/terraform/diff_test.go b/terraform/diff_test.go index d11bff4c9..646fe761d 100644 --- a/terraform/diff_test.go +++ b/terraform/diff_test.go @@ -32,6 +32,6 @@ func TestDiff_String(t *testing.T) { const diffStrBasic = ` nodeA - foo: "foo" => "bar" bar: "foo" => "" + foo: "foo" => "bar" ` diff --git a/terraform/terraform_test.go b/terraform/terraform_test.go index 901f0891e..3bedcf3af 100644 --- a/terraform/terraform_test.go +++ b/terraform/terraform_test.go @@ -401,6 +401,6 @@ const testTerraformDiffComputedStr = ` aws_instance.bar foo: "" => "" aws_instance.foo - num: "" => "2" id: "" => "" + num: "" => "2" `