Skip to content

Instantly share code, notes, and snippets.

@igorbrites
Last active June 26, 2020 19:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save igorbrites/44f26ce2def29aa42f3bb159dd659457 to your computer and use it in GitHub Desktop.
Save igorbrites/44f26ce2def29aa42f3bb159dd659457 to your computer and use it in GitHub Desktop.
Propper terraform plan output to GitHub

Transforming this:

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
  + create
  ~ update in-place

Terraform will perform the following actions:

  # aws_s3_bucket.b will be updated in-place
  ~ resource "aws_s3_bucket" "b" {
        acl                         = "private"
        arn                         = "arn:aws:s3:::my-neptune-test-bucket"
        bucket                      = "my-neptune-test-bucket"
        bucket_domain_name          = "my-neptune-test-bucket.s3.amazonaws.com"
        bucket_regional_domain_name = "my-neptune-test-bucket.s3.amazonaws.com"
        force_destroy               = false
        hosted_zone_id              = "Z3AQBSTGFYJSTF"
        id                          = "my-neptune-test-bucket"
        region                      = "us-east-1"
        request_payer               = "BucketOwner"
      ~ tags                        = {
          ~ "Environment" = "Dev" -> "Personal"
          ~ "Name"        = "My bucket" -> "My new bucket"
        }

        versioning {
            enabled    = false
            mfa_delete = false
        }
    }

  # aws_s3_bucket.c will be created
  + resource "aws_s3_bucket" "c" {
      + acceleration_status         = (known after apply)
      + acl                         = "private"
      + arn                         = (known after apply)
      + bucket                      = "other-neptune-test-bucket"
      + bucket_domain_name          = (known after apply)
      + bucket_regional_domain_name = (known after apply)
      + force_destroy               = false
      + hosted_zone_id              = (known after apply)
      + id                          = (known after apply)
      + region                      = (known after apply)
      + request_payer               = (known after apply)
      + tags                        = {
          + "Environment" = "Personal"
          + "Name"        = "My new bucket"
        }
      + website_domain              = (known after apply)
      + website_endpoint            = (known after apply)

      + versioning {
          + enabled    = (known after apply)
          + mfa_delete = (known after apply)
        }
    }

Plan: 1 to add, 1 to change, 0 to destroy.

Into this:

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
+ create
! update in-place

Terraform will perform the following actions:

@@ # aws_s3_bucket.b will be updated in-place @@
! resource "aws_s3_bucket" "b" {
    acl                         = "private"
    arn                         = "arn:aws:s3:::my-neptune-test-bucket"
    bucket                      = "my-neptune-test-bucket"
    bucket_domain_name          = "my-neptune-test-bucket.s3.amazonaws.com"
    bucket_regional_domain_name = "my-neptune-test-bucket.s3.amazonaws.com"
    force_destroy               = false
    hosted_zone_id              = "Z3AQBSTGFYJSTF"
    id                          = "my-neptune-test-bucket"
    region                      = "us-east-1"
    request_payer               = "BucketOwner"
!   tags                        = {
-       "Environment" = "Dev"
+       "Environment" = "Personal"
-       "Name"        = "My bucket"
+       "Name"        = "My new bucket"
    }

    versioning {
        enabled    = false
        mfa_delete = false
    }
}

@@ # aws_s3_bucket.c will be created @@
+ resource "aws_s3_bucket" "c" {
+   acceleration_status         = (known after apply)
+   acl                         = "private"
+   arn                         = (known after apply)
+   bucket                      = "other-neptune-test-bucket"
+   bucket_domain_name          = (known after apply)
+   bucket_regional_domain_name = (known after apply)
+   force_destroy               = false
+   hosted_zone_id              = (known after apply)
+   id                          = (known after apply)
+   region                      = (known after apply)
+   request_payer               = (known after apply)
+   tags                        = {
+       "Environment" = "Personal"
+       "Name"        = "My new bucket"
    }
+   website_domain              = (known after apply)
+   website_endpoint            = (known after apply)

+   versioning {
+       enabled    = (known after apply)
+       mfa_delete = (known after apply)
    }
}

Plan: 1 to add, 1 to change, 0 to destroy.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment