+ device_name           = "my_data"
          + encrypted             = (known after apply)
          + iops                  = 800
          + kms_key_id            = (known after apply)
          + snapshot_id           = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 1000
          + volume_type           = "io1"
        }

      + enclave_options {
          + enabled = (known after apply)
        }

      + ephemeral_block_device {
          + device_name  = (known after apply)
          + no_device    = (known after apply)
          + virtual_name = (known after apply)
        }

      + metadata_options {
          + http_endpoint               = (known after apply)
          + http_put_response_hop_limit = (known after apply)
          + http_tokens                 = (known after apply)
        }

      + network_interface {
          + delete_on_termination = (known after apply)
          + device_index          = (known after apply)
          + network_interface_id  = (known after apply)
        }

      + root_block_device {
          + delete_on_termination = true
          + device_name           = (known after apply)
          + encrypted             = (known after apply)
          + iops                  = (known after apply)
          + kms_key_id            = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 50
          + volume_type           = (known after apply)
        }
    }

  # aws_lambda_function.hello_world will be created
+ resource "aws_lambda_function" "hello_world" {
      + arn                            = (known after apply)
      + function_name                  = "hello_world"
      + handler                        = "exports.test"
      + id                             = (known after apply)
      + invoke_arn                     = (known after apply)
      + last_modified                  = (known after apply)
      + memory_size                    = 1024
      + package_type                   = "Zip"
      + publish                        = false
      + qualified_arn                  = (known after apply)
      + reserved_concurrent_executions = -1
      + role                           = "arn:aws:lambda:us-east-1:account-id:resource-id"
      + runtime                        = "nodejs12.x"
      + signing_job_arn                = (known after apply)
      + signing_profile_version_arn    = (known after apply)
      + source_code_hash               = (known after apply)
      + source_code_size               = (known after apply)
      + timeout                        = 3
      + version                        = (known after apply)

      + tracing_config {
          + mode = (known after apply)
        }
    }

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

2. dir: terraform-example-aws workspace: default
Show Output

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

Terraform will perform the following actions:

  # aws_instance.web_app will be created
+ resource "aws_instance" "web_app" {
      + ami                          = "ami-674cbc1e"
      + arn                          = (known after apply)
      + associate_public_ip_address  = (known after apply)
      + availability_zone            = (known after apply)
      + cpu_core_count               = (known after apply)
      + cpu_threads_per_core         = (known after apply)
      + get_password_data            = false
      + host_id                      = (known after apply)
      + id                           = (known after apply)
      + instance_state               = (known after apply)
      + instance_type                = "m5.4xlarge"
      + ipv6_address_count           = (known after apply)
      + ipv6_addresses               = (known after apply)
      + key_name                     = (known after apply)
      + outpost_arn                  = (known after apply)
      + password_data                = (known after apply)
      + placement_group              = (known after apply)
      + primary_network_interface_id = (known after apply)
      + private_dns                  = (known after apply)
      + private_ip                   = (known after apply)
      + public_dns                   = (known after apply)
      + public_ip                    = (known after apply)
      + secondary_private_ips        = (known after apply)
      + security_groups              = (known after apply)
      + source_dest_check            = true
      + subnet_id                    = (known after apply)
      + tenancy                      = (known after apply)
      + vpc_security_group_ids       = (known after apply)

      + ebs_block_device {
          + delete_on_termination = true
          + device_name           = "my_data"
          + encrypted             = (known after apply)
          + iops                  = 800
          + kms_key_id            = (known after apply)
          + snapshot_id           = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 1000
          + volume_type           = "io1"
        }

      + enclave_options {
          + enabled = (known after apply)
        }

      + ephemeral_block_device {
          + device_name  = (known after apply)
          + no_device    = (known after apply)
          + virtual_name = (known after apply)
        }

      + metadata_options {
          + http_endpoint               = (known after apply)
          + http_put_response_hop_limit = (known after apply)
          + http_tokens                 = (known after apply)
        }

      + network_interface {
          + delete_on_termination = (known after apply)
          + device_index          = (known after apply)
          + network_interface_id  = (known after apply)
        }

      + root_block_device {
          + delete_on_termination = true
          + device_name           = (known after apply)
          + encrypted             = (known after apply)
          + iops                  = (known after apply)
          + kms_key_id            = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 50
          + volume_type           = (known after apply)
        }
    }

  # aws_lambda_function.hello_world will be created
+ resource "aws_lambda_function" "hello_world" {
      + arn                            = (known after apply)
      + function_name                  = "hello_world"
      + handler                        = "exports.test"
      + id                             = (known after apply)
      + invoke_arn                     = (known after apply)
      + last_modified                  = (known after apply)
      + memory_size                    = 1024
      + package_type                   = "Zip"
      + publish                        = false
      + qualified_arn                  = (known after apply)
      + reserved_concurrent_executions = -1
      + role                           = "arn:aws:lambda:us-east-1:account-id:resource-id"
      + runtime                        = "nodejs12.x"
      + signing_job_arn                = (known after apply)
      + signing_profile_version_arn    = (known after apply)
      + source_code_hash               = (known after apply)
      + source_code_size               = (known after apply)
      + timeout                        = 3
      + version                        = (known after apply)

      + tracing_config {
          + mode = (known after apply)
        }
    }

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

#####
Running Infracost atlantis_diff.sh in debug mode, remove atlantis_debug=true from Atlantis configs to disable debug outputs.

Running infracost on current branch using:
  $ infracost --no-color --terraform-dir . --usage-file infracost-usage.yml
time="2021-02-09T00:46:50Z" level=info msg="Loading resources from current directory"
time="2021-02-09T00:46:50Z" level=info msg="starting: Running terraform plan"
time="2021-02-09T00:46:50Z" level=info msg="Running command: /usr/local/bin/terraform plan -input=false -lock=false -no-color -out=/tmp/tfplan153447958"
time="2021-02-09T00:46:52Z" level=info msg="starting: Running terraform show"
time="2021-02-09T00:46:52Z" level=info msg="Running command: /usr/local/bin/terraform show -no-color -json /tmp/tfplan153447958"
time="2021-02-09T00:46:53Z" level=info msg="starting: Calculating cost estimate"
current_branch_monthly_cost is 1179.31
Switching to default branch
commit bfd7dc53864b84eb4eea77e4afc7e248341ea9a3
Author: Ali<EMAIL_ADDRESS>Date:   Sun Feb 7 20:23:09 2021 +0000

    feat: update integration to use infracost v0.7.17
Running infracost on default branch using:
  $ infracost --no-color --terraform-dir . --usage-file infracost-usage.yml
time="2021-02-09T00:46:54Z" level=info msg="Loading resources from current directory"
time="2021-02-09T00:46:54Z" level=info msg="starting: Running terraform plan"
time="2021-02-09T00:46:54Z" level=info msg="Running command: /usr/local/bin/terraform plan -input=false -lock=false -no-color -out=/tmp/tfplan014611774"
time="2021-02-09T00:46:56Z" level=info msg="starting: Running terraform show"
time="2021-02-09T00:46:56Z" level=info msg="Running command: /usr/local/bin/terraform show -no-color -json /tmp/tfplan014611774"
time="2021-02-09T00:46:57Z" level=info msg="starting: Calculating cost estimate"
default_branch_monthly_cost is 1185.81
#####

Infracost estimate: monthly cost will decrease by .5500% (default branch $1185.81 vs current branch $1179.31)

--- a/default_branch_infracost.txt
+++ b/current_branch_infracost.txt
+  NAME                                         MONTHLY QTY  UNIT         PRICE   HOURLY COST  MONTHLY COST

   aws_instance.web_app
   ├─ Linux/UNIX usage (on-demand, m5.4xlarge)          730  hours        0.7680       0.7680      560.6400
@@ -7,12 +7,12 @@
   │  └─ General Purpose SSD storage (gp2)               50  GB-months    0.1000       0.0068        5.0000
   └─ ebs_block_device[0]
      ├─ Provisioned IOPS SSD storage (io1)           1,000  GB-months    0.1250       0.1712      125.0000
-     └─ Provisioned IOPS                               900  IOPS-months  0.0650       0.0801       58.5000
-  Total                                                                               1.0262      749.1400
+     └─ Provisioned IOPS                               800  IOPS-months  0.0650       0.0712       52.0000
+  Total                                                                               1.0173      742.6400

   aws_lambda_function.hello_world
   ├─ Requests                                          100  1M requests  0.2000       0.0274       20.0000
   └─ Duration                                   25,000,000  GB-seconds    2e-05       0.5708      416.6675
   Total                                                                               0.5982      436.6675

-  OVERALL TOTAL (USD)                                                                 1.6244    1,185.8075
+  OVERALL TOTAL (USD)                                                                 1.6155    1,179.3075

:arrow_forward: To apply this plan, comment:

atlantis apply -d terraform-example-aws

:put_litter_in_its_place: To delete this plan click here
:repeat: To plan this project again, comment:

atlantis plan -d terraform-example-aws

3. dir: terraform-example-gcp workspace: default
Show Output

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

Terraform will perform the following actions:

  # google_compute_instance.instance1 will be created
+ resource "google_compute_instance" "instance1" {
      + can_ip_forward       = false
      + cpu_platform         = (known after apply)
      + current_status       = (known after apply)
      + deletion_protection  = false
      + guest_accelerator    = [
          + {
              + count = 3
              + type  = "nvidia-tesla-t4"
            },
        ]
      + id                   = (known after apply)
      + instance_id          = (known after apply)
      + label_fingerprint    = (known after apply)
      + machine_type         = "n1-standard-32"
      + metadata_fingerprint = (known after apply)
      + min_cpu_platform     = (known after apply)
      + name                 = "instance1"
      + project              = (known after apply)
      + self_link            = (known after apply)
      + tags_fingerprint     = (known after apply)
      + zone                 = "us-central1-a"

      + boot_disk {
          + auto_delete                = true
          + device_name                = (known after apply)
          + disk_encryption_key_sha256 = (known after apply)
          + kms_key_self_link          = (known after apply)
          + mode                       = "READ_WRITE"
          + source                     = (known after apply)

          + initialize_params {
              + image  = "debian-cloud/debian-9"
              + labels = (known after apply)
              + size   = (known after apply)
              + type   = (known after apply)
            }
        }

      + confidential_instance_config {
          + enable_confidential_compute = (known after apply)
        }

      + network_interface {
          + name               = (known after apply)
          + network            = "default"
          + network_ip         = (known after apply)
          + subnetwork         = (known after apply)
          + subnetwork_project = (known after apply)

          + access_config {
              + nat_ip       = (known after apply)
              + network_tier = (known after apply)
            }
        }

      + scheduling {
          + automatic_restart   = true
          + on_host_maintenance = (known after apply)
          + preemptible         = true
        }
    }

  # google_dns_record_set.frontend will be created
+ resource "google_dns_record_set" "frontend" {
      + id           = (known after apply)
      + managed_zone = "zone"
      + name         = "frontend.123"
      + project      = (known after apply)
      + rrdatas      = [
          + "<IP_ADDRESS>]",
        ]
      + ttl          = 300
      + type         = "A"
    }

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

#####
Running Infracost atlantis_diff.sh in debug mode, remove atlantis_debug=true from Atlantis configs to disable debug outputs.

Running infracost on current branch using:
  $ infracost --no-color --terraform-dir . --usage-file infracost-usage.yml
time="2021-02-09T00:46:59Z" level=info msg="Loading resources from current directory"
time="2021-02-09T00:46:59Z" level=info msg="starting: Running terraform plan"
time="2021-02-09T00:46:59Z" level=info msg="Running command: /usr/local/bin/terraform plan -input=false -lock=false -no-color -out=/tmp/tfplan890282739"
time="2021-02-09T00:47:00Z" level=info msg="starting: Running terraform show"
time="2021-02-09T00:47:00Z" level=info msg="Running command: /usr/local/bin/terraform show -no-color -json /tmp/tfplan890282739"
time="2021-02-09T00:47:01Z" level=info msg="starting: Calculating cost estimate"
current_branch_monthly_cost is 475.30
Switching to default branch
commit bfd7dc53864b84eb4eea77e4afc7e248341ea9a3
Author: Ali<EMAIL_ADDRESS>Date:   Sun Feb 7 20:23:09 2021 +0000

    feat: update integration to use infracost v0.7.17
Running infracost on default branch using:
  $ infracost --no-color --terraform-dir . --usage-file infracost-usage.yml
time="2021-02-09T00:47:01Z" level=info msg="Loading resources from current directory"
time="2021-02-09T00:47:01Z" level=info msg="starting: Running terraform plan"
time="2021-02-09T00:47:01Z" level=info msg="Running command: /usr/local/bin/terraform plan -input=false -lock=false -no-color -out=/tmp/tfplan009275222"
time="2021-02-09T00:47:03Z" level=info msg="starting: Running terraform show"
time="2021-02-09T00:47:03Z" level=info msg="Running command: /usr/local/bin/terraform show -no-color -json /tmp/tfplan009275222"
time="2021-02-09T00:47:03Z" level=info msg="starting: Calculating cost estimate"
default_branch_monthly_cost is 555.60
#####

Infracost estimate: monthly cost will decrease by 14.4600% (default branch $555.60 vs current branch $475.30)

--- a/default_branch_infracost.txt
+++ b/current_branch_infracost.txt
+  NAME                                               MONTHLY QTY  UNIT        PRICE   HOURLY COST  MONTHLY COST

   google_compute_instance.instance1
   ├─ Linux/UNIX usage (preemptible, n1-standard-32)          730  hours       0.3200       0.3200      233.6000
   ├─ Standard provisioned storage (pd-standard)               10  GiB         0.0400       0.0005        0.4000
-  └─ NVIDIA Tesla T4 (preemptible)                         2,920  hours       0.1100       0.4400      321.2000
-  Total                                                                                0.7605      555.2000
+  └─ NVIDIA Tesla T4 (preemptible)                         2,190  hours       0.1100       0.3300      240.9000
+  Total                                                                                0.6505      474.9000

   google_dns_record_set.frontend
   └─ Queries                                                   1  1M queries  0.4000       0.0005        0.4000
   Total                                                                                0.0005        0.4000

-  OVERALL TOTAL (USD)                                                                      0.7611      555.6000
+  OVERALL TOTAL (USD)                                                                      0.6511      475.3000

:arrow_forward: To apply this plan, comment:

atlantis apply -d terraform-example-gcp

:put_litter_in_its_place: To delete this plan click here
:repeat: To plan this project again, comment:

atlantis plan -d terraform-example-gcp

:fast_forward: To apply all unapplied plans from this pull request, comment:

atlantis apply

:put_litter_in_its_place: To delete all plans and locks for the PR, comment:

atlantis unlock

atlantis plan -d new-project

Ran Plan for dir: new-project workspace: default
Plan Error
Show Output
exit status 1: running "atlantis_debug=true /infracost_atlantis_diff.sh" in "/home/atlantis/.atlantis/repos/infracost/infracost-atlantis/4/default/new-project":
#####
Running Infracost atlantis_diff.sh in debug mode, remove atlantis_debug=true from Atlantis configs to disable debug outputs.

Running infracost on current branch using:
  $ infracost --no-color --terraform-dir . --usage-file infracost-usage.yml
time="2021-02-09T00:50:12Z" level=info msg="Loading resources from current directory"
time="2021-02-09T00:50:12Z" level=info msg="starting: Running terraform plan"
time="2021-02-09T00:50:12Z" level=info msg="Running command: /usr/local/bin/terraform plan -input=false -lock=false -no-color -out=/tmp/tfplan156221044"
time="2021-02-09T00:50:15Z" level=info msg="starting: Running terraform show"
time="2021-02-09T00:50:15Z" level=info msg="Running command: /usr/local/bin/terraform show -no-color -json /tmp/tfplan156221044"
time="2021-02-09T00:50:16Z" level=info msg="starting: Calculating cost estimate"
current_branch_monthly_cost is 742.64
Switching to default branch
commit bfd7dc53864b84eb4eea77e4afc7e248341ea9a3
Author: Ali<EMAIL_ADDRESS>Date:   Sun Feb 7 20:23:09 2021 +0000

    feat: update integration to use infracost v0.7.17
Running infracost on default branch using:
  $ infracost --no-color --terraform-dir . --usage-file infracost-usage.yml
time="2021-02-09T00:50:16Z" level=info msg="Loading resources from current directory"
Error reading usage file: open infracost-usage.yml: no such file or directory

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

Terraform will perform the following actions:

  # aws_instance.web_app will be created
+ resource "aws_instance" "web_app" {
      + ami                          = "ami-674cbc1e"
      + arn                          = (known after apply)
      + associate_public_ip_address  = (known after apply)
      + availability_zone            = (known after apply)
      + cpu_core_count               = (known after apply)
      + cpu_threads_per_core         = (known after apply)
      + get_password_data            = false
      + host_id                      = (known after apply)
      + id                           = (known after apply)
      + instance_state               = (known after apply)
      + instance_type                = "m5.4xlarge"
      + ipv6_address_count           = (known after apply)
      + ipv6_addresses               = (known after apply)
      + key_name                     = (known after apply)
      + outpost_arn                  = (known after apply)
      + password_data                = (known after apply)
      + placement_group              = (known after apply)
      + primary_network_interface_id = (known after apply)
      + private_dns                  = (known after apply)
      + private_ip                   = (known after apply)
      + public_dns                   = (known after apply)
      + public_ip                    = (known after apply)
      + secondary_private_ips        = (known after apply)
      + security_groups              = (known after apply)
      + source_dest_check            = true
      + subnet_id                    = (known after apply)
      + tenancy                      = (known after apply)
      + vpc_security_group_ids       = (known after apply)

      + ebs_block_device {
          + delete_on_termination = true
          + device_name           = "my_data"
          + encrypted             = (known after apply)
          + iops                  = 800
          + kms_key_id            = (known after apply)
          + snapshot_id           = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 1000
          + volume_type           = "io1"
        }

      + enclave_options {
          + enabled = (known after apply)
        }

      + ephemeral_block_device {
          + device_name  = (known after apply)
          + no_device    = (known after apply)
          + virtual_name = (known after apply)
        }

      + metadata_options {
          + http_endpoint               = (known after apply)
          + http_put_response_hop_limit = (known after apply)
          + http_tokens                 = (known after apply)
        }

      + network_interface {
          + delete_on_termination = (known after apply)
          + device_index          = (known after apply)
          + network_interface_id  = (known after apply)
        }

      + root_block_device {
          + delete_on_termination = true
          + device_name           = (known after apply)
          + encrypted             = (known after apply)
          + iops                  = (known after apply)
          + kms_key_id            = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 50
          + volume_type           = (known after apply)
        }
    }

  # aws_lambda_function.hello_world will be created
+ resource "aws_lambda_function" "hello_world" {
      + arn                            = (known after apply)
      + function_name                  = "hello_world"
      + handler                        = "exports.test"
      + id                             = (known after apply)
      + invoke_arn                     = (known after apply)
      + last_modified                  = (known after apply)
      + memory_size                    = 1024
      + package_type                   = "Zip"
      + publish                        = false
      + qualified_arn                  = (known after apply)
      + reserved_concurrent_executions = -1
      + role                           = "arn:aws:lambda:us-east-1:account-id:resource-id"
      + runtime                        = "nodejs12.x"
      + signing_job_arn                = (known after apply)
      + signing_profile_version_arn    = (known after apply)
      + source_code_hash               = (known after apply)
      + source_code_size               = (known after apply)
      + timeout                        = 3
      + version                        = (known after apply)

      + tracing_config {
          + mode = (known after apply)
        }
    }

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

atlantis plan -d new-project

Ran Plan for dir: new-project workspace: default
Plan Error
Show Output
exit status 1: running "atlantis_debug=true /infracost_atlantis_diff.sh" in "/home/atlantis/.atlantis/repos/infracost/infracost-atlantis/4/default/new-project":
#####
Running Infracost atlantis_diff.sh in debug mode, remove atlantis_debug=true from Atlantis configs to disable debug outputs.

Running infracost on current branch using:
  $ infracost --no-color --terraform-dir . --usage-file infracost-usage.yml
time="2021-02-09T00:59:49Z" level=info msg="Loading resources from current directory"
time="2021-02-09T00:59:49Z" level=info msg="starting: Running terraform plan"
time="2021-02-09T00:59:49Z" level=info msg="Running command: /usr/local/bin/terraform plan -input=false -lock=false -no-color -out=/tmp/tfplan468378668"
time="2021-02-09T00:59:51Z" level=info msg="starting: Running terraform show"
time="2021-02-09T00:59:51Z" level=info msg="Running command: /usr/local/bin/terraform show -no-color -json /tmp/tfplan468378668"
time="2021-02-09T00:59:52Z" level=info msg="starting: Calculating cost estimate"
current_branch_monthly_cost is 742.64
Switching to default branch
commit bfd7dc53864b84eb4eea77e4afc7e248341ea9a3
Author: Ali<EMAIL_ADDRESS>Date:   Sun Feb 7 20:23:09 2021 +0000

    feat: update integration to use infracost v0.7.17
Default branch does not have this folder, setting its cost to 0.
default_branch_monthly_cost is 0
Default branch has no cost, setting percent_diff=100 to force a comment
sed: default_branch_infracost.txt: No such file or directory

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

Terraform will perform the following actions:

  # aws_instance.web_app will be created
+ resource "aws_instance" "web_app" {
      + ami                          = "ami-674cbc1e"
      + arn                          = (known after apply)
      + associate_public_ip_address  = (known after apply)
      + availability_zone            = (known after apply)
      + cpu_core_count               = (known after apply)
      + cpu_threads_per_core         = (known after apply)
      + get_password_data            = false
      + host_id                      = (known after apply)
      + id                           = (known after apply)
      + instance_state               = (known after apply)
      + instance_type                = "m5.4xlarge"
      + ipv6_address_count           = (known after apply)
      + ipv6_addresses               = (known after apply)
      + key_name                     = (known after apply)
      + outpost_arn                  = (known after apply)
      + password_data                = (known after apply)
      + placement_group              = (known after apply)
      + primary_network_interface_id = (known after apply)
      + private_dns                  = (known after apply)
      + private_ip                   = (known after apply)
      + public_dns                   = (known after apply)
      + public_ip                    = (known after apply)
      + secondary_private_ips        = (known after apply)
      + security_groups              = (known after apply)
      + source_dest_check            = true
      + subnet_id                    = (known after apply)
      + tenancy                      = (known after apply)
      + vpc_security_group_ids       = (known after apply)

      + ebs_block_device {
          + delete_on_termination = true
          + device_name           = "my_data"
          + encrypted             = (known after apply)
          + iops                  = 800
          + kms_key_id            = (known after apply)
          + snapshot_id           = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 1000
          + volume_type           = "io1"
        }

      + enclave_options {
          + enabled = (known after apply)
        }

      + ephemeral_block_device {
          + device_name  = (known after apply)
          + no_device    = (known after apply)
          + virtual_name = (known after apply)
        }

      + metadata_options {
          + http_endpoint               = (known after apply)
          + http_put_response_hop_limit = (known after apply)
          + http_tokens                 = (known after apply)
        }

      + network_interface {
          + delete_on_termination = (known after apply)
          + device_index          = (known after apply)
          + network_interface_id  = (known after apply)
        }

      + root_block_device {
          + delete_on_termination = true
          + device_name           = (known after apply)
          + encrypted             = (known after apply)
          + iops                  = (known after apply)
          + kms_key_id            = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 50
          + volume_type           = (known after apply)
        }
    }

  # aws_lambda_function.hello_world will be created
+ resource "aws_lambda_function" "hello_world" {
      + arn                            = (known after apply)
      + function_name                  = "hello_world"
      + handler                        = "exports.test"
      + id                             = (known after apply)
      + invoke_arn                     = (known after apply)
      + last_modified                  = (known after apply)
      + memory_size                    = 1024
      + package_type                   = "Zip"
      + publish                        = false
      + qualified_arn                  = (known after apply)
      + reserved_concurrent_executions = -1
      + role                           = "arn:aws:lambda:us-east-1:account-id:resource-id"
      + runtime                        = "nodejs12.x"
      + signing_job_arn                = (known after apply)
      + signing_profile_version_arn    = (known after apply)
      + source_code_hash               = (known after apply)
      + source_code_size               = (known after apply)
      + timeout                        = 3
      + version                        = (known after apply)

      + tracing_config {
          + mode = (known after apply)
        }
    }

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

atlantis plan -d new-project

Ran Plan for dir: new-project workspace: default
Show Output

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

Terraform will perform the following actions:

  # aws_instance.web_app will be created
+ resource "aws_instance" "web_app" {
      + ami                          = "ami-674cbc1e"
      + arn                          = (known after apply)
      + associate_public_ip_address  = (known after apply)
      + availability_zone            = (known after apply)
      + cpu_core_count               = (known after apply)
      + cpu_threads_per_core         = (known after apply)
      + get_password_data            = false
      + host_id                      = (known after apply)
      + id                           = (known after apply)
      + instance_state               = (known after apply)
      + instance_type                = "m5.4xlarge"
      + ipv6_address_count           = (known after apply)
      + ipv6_addresses               = (known after apply)
      + key_name                     = (known after apply)
      + outpost_arn                  = (known after apply)
      + password_data                = (known after apply)
      + placement_group              = (known after apply)
      + primary_network_interface_id = (known after apply)
      + private_dns                  = (known after apply)
      + private_ip                   = (known after apply)
      + public_dns                   = (known after apply)
      + public_ip                    = (known after apply)
      + secondary_private_ips        = (known after apply)
      + security_groups              = (known after apply)
      + source_dest_check            = true
      + subnet_id                    = (known after apply)
      + tenancy                      = (known after apply)
      + vpc_security_group_ids       = (known after apply)

      + ebs_block_device {
          + delete_on_termination = true
          + device_name           = "my_data"
          + encrypted             = (known after apply)
          + iops                  = 800
          + kms_key_id            = (known after apply)
          + snapshot_id           = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 1000
          + volume_type           = "io1"
        }

      + enclave_options {
          + enabled = (known after apply)
        }

      + ephemeral_block_device {
          + device_name  = (known after apply)
          + no_device    = (known after apply)
          + virtual_name = (known after apply)
        }

      + metadata_options {
          + http_endpoint               = (known after apply)
          + http_put_response_hop_limit = (known after apply)
          + http_tokens                 = (known after apply)
        }

      + network_interface {
          + delete_on_termination = (known after apply)
          + device_index          = (known after apply)
          + network_interface_id  = (known after apply)
        }

      + root_block_device {
          + delete_on_termination = true
          + device_name           = (known after apply)
          + encrypted             = (known after apply)
          + iops                  = (known after apply)
          + kms_key_id            = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 50
          + volume_type           = (known after apply)
        }
    }

  # aws_lambda_function.hello_world will be created
+ resource "aws_lambda_function" "hello_world" {
      + arn                            = (known after apply)
      + function_name                  = "hello_world"
      + handler                        = "exports.test"
      + id                             = (known after apply)
      + invoke_arn                     = (known after apply)
      + last_modified                  = (known after apply)
      + memory_size                    = 1024
      + package_type                   = "Zip"
      + publish                        = false
      + qualified_arn                  = (known after apply)
      + reserved_concurrent_executions = -1
      + role                           = "arn:aws:lambda:us-east-1:account-id:resource-id"
      + runtime                        = "nodejs12.x"
      + signing_job_arn                = (known after apply)
      + signing_profile_version_arn    = (known after apply)
      + source_code_hash               = (known after apply)
      + source_code_size               = (known after apply)
      + timeout                        = 3
      + version                        = (known after apply)

      + tracing_config {
          + mode = (known after apply)
        }
    }

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

#####
Running Infracost atlantis_diff.sh in debug mode, remove atlantis_debug=true from Atlantis configs to disable debug outputs.

Running infracost on current branch using:
  $ infracost --no-color --terraform-dir . --usage-file infracost-usage.yml
time="2021-02-09T01:01:45Z" level=info msg="Loading resources from current directory"
time="2021-02-09T01:01:45Z" level=info msg="starting: Running terraform plan"
time="2021-02-09T01:01:45Z" level=info msg="Running command: /usr/local/bin/terraform plan -input=false -lock=false -no-color -out=/tmp/tfplan563412473"
time="2021-02-09T01:01:47Z" level=info msg="starting: Running terraform show"
time="2021-02-09T01:01:47Z" level=info msg="Running command: /usr/local/bin/terraform show -no-color -json /tmp/tfplan563412473"
time="2021-02-09T01:01:48Z" level=info msg="starting: Calculating cost estimate"
current_branch_monthly_cost is 742.64
Switching to default branch
commit bfd7dc53864b84eb4eea77e4afc7e248341ea9a3
Author: Ali<EMAIL_ADDRESS>Date:   Sun Feb 7 20:23:09 2021 +0000

    feat: update integration to use infracost v0.7.17
Default branch does not have this folder, setting its cost to 0.
default_branch_monthly_cost is 0
Default branch has no cost, setting percent_diff=100 to force a comment
#####

Infracost estimate: monthly cost will increase by 100% (default branch $0 vs current branch $742.64)

--- a/default_branch_infracost.txt
+++ b/current_branch_infracost.txt
+
+  aws_instance.web_app
+  ├─ Linux/UNIX usage (on-demand, m5.4xlarge)          730  hours        0.7680       0.7680      560.6400
+  ├─ root_block_device
+  │  └─ General Purpose SSD storage (gp2)               50  GB-months    0.1000       0.0068        5.0000
+  └─ ebs_block_device[0]
+     ├─ Provisioned IOPS SSD storage (io1)           1,000  GB-months    0.1250       0.1712      125.0000
+     └─ Provisioned IOPS                               800  IOPS-months  0.0650       0.0712       52.0000
+  Total                                                                               1.0173      742.6400
+
+  aws_lambda_function.hello_world
+  ├─ Requests                                            -  1M requests  0.2000            -             -
+  └─ Duration                                            -  GB-seconds    2e-05            -             -
+  Total                                                                                -             -
+
+  OVERALL TOTAL (USD)                                                                 1.0173      742.6400

:arrow_forward: To apply this plan, comment:

atlantis apply -d new-project

:put_litter_in_its_place: To delete this plan click here
:repeat: To plan this project again, comment:

atlantis plan -d new-project

:fast_forward: To apply all unapplied plans from this pull request, comment:

atlantis apply

:put_litter_in_its_place: To delete all plans and locks for the PR, comment:

atlantis unlock

atlantis plan -d new-project

Ran Plan for dir: new-project workspace: default
Show Output

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

Terraform will perform the following actions:

  # aws_instance.web_app will be created
+ resource "aws_instance" "web_app" {
      + ami                          = "ami-674cbc1e"
      + arn                          = (known after apply)
      + associate_public_ip_address  = (known after apply)
      + availability_zone            = (known after apply)
      + cpu_core_count               = (known after apply)
      + cpu_threads_per_core         = (known after apply)
      + get_password_data            = false
      + host_id                      = (known after apply)
      + id                           = (known after apply)
      + instance_state               = (known after apply)
      + instance_type                = "m5.4xlarge"
      + ipv6_address_count           = (known after apply)
      + ipv6_addresses               = (known after apply)
      + key_name                     = (known after apply)
      + outpost_arn                  = (known after apply)
      + password_data                = (known after apply)
      + placement_group              = (known after apply)
      + primary_network_interface_id = (known after apply)
      + private_dns                  = (known after apply)
      + private_ip                   = (known after apply)
      + public_dns                   = (known after apply)
      + public_ip                    = (known after apply)
      + secondary_private_ips        = (known after apply)
      + security_groups              = (known after apply)
      + source_dest_check            = true
      + subnet_id                    = (known after apply)
      + tenancy                      = (known after apply)
      + vpc_security_group_ids       = (known after apply)

      + ebs_block_device {
          + delete_on_termination = true
          + device_name           = "my_data"
          + encrypted             = (known after apply)
          + iops                  = 800
          + kms_key_id            = (known after apply)
          + snapshot_id           = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 1000
          + volume_type           = "io1"
        }

      + enclave_options {
          + enabled = (known after apply)
        }

      + ephemeral_block_device {
          + device_name  = (known after apply)
          + no_device    = (known after apply)
          + virtual_name = (known after apply)
        }

      + metadata_options {
          + http_endpoint               = (known after apply)
          + http_put_response_hop_limit = (known after apply)
          + http_tokens                 = (known after apply)
        }

      + network_interface {
          + delete_on_termination = (known after apply)
          + device_index          = (known after apply)
          + network_interface_id  = (known after apply)
        }

      + root_block_device {
          + delete_on_termination = true
          + device_name           = (known after apply)
          + encrypted             = (known after apply)
          + iops                  = (known after apply)
          + kms_key_id            = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 50
          + volume_type           = (known after apply)
        }
    }

  # aws_lambda_function.hello_world will be created
+ resource "aws_lambda_function" "hello_world" {
      + arn                            = (known after apply)
      + function_name                  = "hello_world"
      + handler                        = "exports.test"
      + id                             = (known after apply)
      + invoke_arn                     = (known after apply)
      + last_modified                  = (known after apply)
      + memory_size                    = 1024
      + package_type                   = "Zip"
      + publish                        = false
      + qualified_arn                  = (known after apply)
      + reserved_concurrent_executions = -1
      + role                           = "arn:aws:lambda:us-east-1:account-id:resource-id"
      + runtime                        = "nodejs12.x"
      + signing_job_arn                = (known after apply)
      + signing_profile_version_arn    = (known after apply)
      + source_code_hash               = (known after apply)
      + source_code_size               = (known after apply)
      + timeout                        = 3
      + version                        = (known after apply)

      + tracing_config {
          + mode = (known after apply)
        }
    }

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

#####

Infracost estimate: monthly cost will increase by 100% (default branch $0 vs current branch $742.64)

--- a/default_branch_infracost.txt
+++ b/current_branch_infracost.txt
+
+  aws_instance.web_app
+  ├─ Linux/UNIX usage (on-demand, m5.4xlarge)          730  hours        0.7680       0.7680      560.6400
+  ├─ root_block_device
+  │  └─ General Purpose SSD storage (gp2)               50  GB-months    0.1000       0.0068        5.0000
+  └─ ebs_block_device[0]
+     ├─ Provisioned IOPS SSD storage (io1)           1,000  GB-months    0.1250       0.1712      125.0000
+     └─ Provisioned IOPS                               800  IOPS-months  0.0650       0.0712       52.0000
+  Total                                                                               1.0173      742.6400
+
+  aws_lambda_function.hello_world
+  ├─ Requests                                            -  1M requests  0.2000            -             -
+  └─ Duration                                            -  GB-seconds    2e-05            -             -
+  Total                                                                                -             -
+
+  OVERALL TOTAL (USD)                                                                 1.0173      742.6400

:arrow_forward: To apply this plan, comment:

atlantis apply -d new-project

:put_litter_in_its_place: To delete this plan click here
:repeat: To plan this project again, comment:

atlantis plan -d new-project

:fast_forward: To apply all unapplied plans from this pull request, comment:

atlantis apply

:put_litter_in_its_place: To delete all plans and locks for the PR, comment:

atlantis unlock

Ran Plan for 3 projects:

dir: new-project workspace: default
dir: terraform-example-aws workspace: default
dir: terraform-example-gcp workspace: default

1. dir: new-project workspace: default
Show Output

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

Terraform will perform the following actions:

  # aws_instance.web_app will be created
+ resource "aws_instance" "web_app" {
      + ami                          = "ami-674cbc1e"
      + arn                          = (known after apply)
      + associate_public_ip_address  = (known after apply)
      + availability_zone            = (known after apply)
      + cpu_core_count               = (known after apply)
      + cpu_threads_per_core         = (known after apply)
      + get_password_data            = false
      + host_id                      = (known after apply)
      + id                           = (known after apply)
      + instance_state               = (known after apply)
      + instance_type                = "m5.4xlarge"
      + ipv6_address_count           = (known after apply)
      + ipv6_addresses               = (known after apply)
      + key_name                     = (known after apply)
      + outpost_arn                  = (known after apply)
      + password_data                = (known after apply)
      + placement_group              = (known after apply)
      + primary_network_interface_id = (known after apply)
      + private_dns                  = (known after apply)
      + private_ip                   = (known after apply)
      + public_dns                   = (known after apply)
      + public_ip                    = (known after apply)
      + secondary_private_ips        = (known after apply)
      + security_groups              = (known after apply)
      + source_dest_check            = true
      + subnet_id                    = (known after apply)
      + tenancy                      = (known after apply)
      + vpc_security_group_ids       = (known after apply)

      + ebs_block_device {
          + delete_on_termination = true
          + device_name           = "my_data"
          + encrypted             = (known after apply)
          + iops                  = 800
          + kms_key_id            = (known after apply)
          + snapshot_id           = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 1000
          + volume_type           = "io1"
        }

      + enclave_options {
          + enabled = (known after apply)
        }

      + ephemeral_block_device {
          + device_name  = (known after apply)
          + no_device    = (known after apply)
          + virtual_name = (known after apply)
        }

      + metadata_options {
          + http_endpoint               = (known after apply)
          + http_put_response_hop_limit = (known after apply)
          + http_tokens                 = (known after apply)
        }

      + network_interface {
          + delete_on_termination = (known after apply)
          + device_index          = (known after apply)
          + network_interface_id  = (known after apply)
        }

      + root_block_device {
          + delete_on_termination = true
          + device_name           = (known after apply)
          + encrypted             = (known after apply)
          + iops                  = (known after apply)
          + kms_key_id            = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 50
          + volume_type           = (known after apply)
        }
    }

  # aws_lambda_function.hello_world will be created
+ resource "aws_lambda_function" "hello_world" {
      + arn                            = (known after apply)
      + function_name                  = "hello_world"
      + handler                        = "exports.test"
      + id                             = (known after apply)
      + invoke_arn                     = (known after apply)
      + last_modified                  = (known after apply)
      + memory_size                    = 1024
      + package_type                   = "Zip"
      + publish                        = false
      + qualified_arn                  = (known after apply)
      + reserved_concurrent_executions = -1
      + role                           = "arn:aws:lambda:us-east-1:account-id:resource-id"
      + runtime                        = "nodejs12.x"
      + signing_job_arn                = (known after apply)
      + signing_profile_version_arn    = (known after apply)
      + source_code_hash               = (known after apply)
      + source_code_size               = (known after apply)
      + timeout                        = 3
      + version                        = (known after apply)

      + tracing_config {
          + mode = (known after apply)
        }
    }

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

#####

Infracost estimate: monthly cost will increase by 100% (default branch $0 vs current branch $742.64)

--- a/default_branch_infracost.txt
+++ b/current_branch_infracost.txt
+
+  aws_instance.web_app
+  ├─ Linux/UNIX usage (on-demand, m5.4xlarge)          730  hours        0.7680       0.7680      560.6400
+  ├─ root_block_device
+  │  └─ General Purpose SSD storage (gp2)               50  GB-months    0.1000       0.0068        5.0000
+  └─ ebs_block_device[0]
+     ├─ Provisioned IOPS SSD storage (io1)           1,000  GB-months    0.1250       0.1712      125.0000
+     └─ Provisioned IOPS                               800  IOPS-months  0.0650       0.0712       52.0000
+  Total                                                                               1.0173      742.6400
+
+  aws_lambda_function.hello_world
+  ├─ Requests                                            -  1M requests  0.2000            -             -
+  └─ Duration                                            -  GB-seconds    2e-05            -             -
+  Total                                                                                -             -
+
+  OVERALL TOTAL (USD)                                                                 1.0173      742.6400

:arrow_forward: To apply this plan, comment:

atlantis apply -d new-project

:put_litter_in_its_place: To delete this plan click here
:repeat: To plan this project again, comment:

atlantis plan -d new-project

2. dir: terraform-example-aws workspace: default
Show Output

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

Terraform will perform the following actions:

  # aws_instance.web_app will be created
+ resource "aws_instance" "web_app" {
      + ami                          = "ami-674cbc1e"
      + arn                          = (known after apply)
      + associate_public_ip_address  = (known after apply)
      + availability_zone            = (known after apply)
      + cpu_core_count               = (known after apply)
      + cpu_threads_per_core         = (known after apply)
      + get_password_data            = false
      + host_id                      = (known after apply)
      + id                           = (known after apply)
      + instance_state               = (known after apply)
      + instance_type                = "m5.4xlarge"
      + ipv6_address_count           = (known after apply)
      + ipv6_addresses               = (known after apply)
      + key_name                     = (known after apply)
      + outpost_arn                  = (known after apply)
      + password_data                = (known after apply)
      + placement_group              = (known after apply)
      + primary_network_interface_id = (known after apply)
      + private_dns                  = (known after apply)
      + private_ip                   = (known after apply)
      + public_dns                   = (known after apply)
      + public_ip                    = (known after apply)
      + secondary_private_ips        = (known after apply)
      + security_groups              = (known after apply)
      + source_dest_check            = true
      + subnet_id                    = (known after apply)
      + tenancy                      = (known after apply)
      + vpc_security_group_ids       = (known after apply)

      + ebs_block_device {
          + delete_on_termination = true
          + device_name           = "my_data"
          + encrypted             = (known after apply)
          + iops                  = 800
          + kms_key_id            = (known after apply)
          + snapshot_id           = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 1000
          + volume_type           = "io1"
        }

      + enclave_options {
          + enabled = (known after apply)
        }

      + ephemeral_block_device {
          + device_name  = (known after apply)
          + no_device    = (known after apply)
          + virtual_name = (known after apply)
        }

      + metadata_options {
          + http_endpoint               = (known after apply)
          + http_put_response_hop_limit = (known after apply)
          + http_tokens                 = (known after apply)
        }

      + network_interface {
          + delete_on_termination = (known after apply)
          + device_index          = (known after apply)
          + network_interface_id  = (known after apply)
        }

      + root_block_device {
          + delete_on_termination = true
          + device_name           = (known after apply)
          + encrypted             = (known after apply)
          + iops                  = (known after apply)
          + kms_key_id            = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 50
          + volume_type           = (known after apply)
        }
    }

  # aws_lambda_function.hello_world will be created
+ resource "aws_lambda_function" "hello_world" {
      + arn                            = (known after apply)
      + function_name                  = "hello_world"
      + handler                        = "exports.test"
      + id                             = (known after apply)
      + invoke_arn                     = (known after apply)
      + last_modified                  = (known after apply)
      + memory_size                    = 1024
      + package_type                   = "Zip"
      + publish                        = false
      + qualified_arn                  = (known after apply)
      + reserved_concurrent_executions = -1
      + role                           = "arn:aws:lambda:us-east-1:account-id:resource-id"
      + runtime                        = "nodejs12.x"
      + signing_job_arn                = (known after apply)
      + signing_profile_version_arn    = (known after apply)
      + source_code_hash               = (known after apply)
      + source_code_size               = (known after apply)
      + timeout                        = 3
      + version                        = (known after apply)

      + tracing_config {
          + mode = (known after apply)
        }
    }

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

#####

Infracost estimate: monthly cost will decrease by .5500% (default branch $1185.81 vs current branch $1179.31)

--- a/default_branch_infracost.txt
+++ b/current_branch_infracost.txt
+  NAME                                         MONTHLY QTY  UNIT         PRICE   HOURLY COST  MONTHLY COST

   aws_instance.web_app
   ├─ Linux/UNIX usage (on-demand, m5.4xlarge)          730  hours        0.7680       0.7680      560.6400
@@ -7,12 +7,12 @@
   │  └─ General Purpose SSD storage (gp2)               50  GB-months    0.1000       0.0068        5.0000
   └─ ebs_block_device[0]
      ├─ Provisioned IOPS SSD storage (io1)           1,000  GB-months    0.1250       0.1712      125.0000
-     └─ Provisioned IOPS                               900  IOPS-months  0.0650       0.0801       58.5000
-  Total                                                                               1.0262      749.1400
+     └─ Provisioned IOPS                               800  IOPS-months  0.0650       0.0712       52.0000
+  Total                                                                               1.0173      742.6400

   aws_lambda_function.hello_world
   ├─ Requests                                          100  1M requests  0.2000       0.0274       20.0000
   └─ Duration                                   25,000,000  GB-seconds    2e-05       0.5708      416.6675
   Total                                                                               0.5982      436.6675

-  OVERALL TOTAL (USD)                                                                 1.6244    1,185.8075
+  OVERALL TOTAL (USD)                                                                 1.6155    1,179.3075

:arrow_forward: To apply this plan, comment:

atlantis apply -d terraform-example-aws

:put_litter_in_its_place: To delete this plan click here
:repeat: To plan this project again, comment:

atlantis plan -d terraform-example-aws

3. dir: terraform-example-gcp workspace: default
Show Output

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

Terraform will perform the following actions:

  # google_compute_instance.instance1 will be created
+ resource "google_compute_instance" "instance1" {
      + can_ip_forward       = false
      + cpu_platform         = (known after apply)
      + current_status       = (known after apply)
      + deletion_protection  = false
      + guest_accelerator    = [
          + {
              + count = 3
              + type  = "nvidia-tesla-t4"
            },
        ]
      + id                   = (known after apply)
      + instance_id          = (known after apply)
      + label_fingerprint    = (known after apply)
      + machine_type         = "n1-standard-32"
      + metadata_fingerprint = (known after apply)
      + min_cpu_platform     = (known after apply)
      + name                 = "instance1"
      + project              = (known after apply)
      + self_link            = (known after apply)
      + tags_fingerprint     = (known after apply)
      + zone                 = "us-central1-a"

      + boot_disk {
          + auto_delete                = true
          + device_name                = (known after apply)
          + disk_encryption_key_sha256 = (known after apply)
          + kms_key_self_link          = (known after apply)
          + mode                       = "READ_WRITE"
          + source                     = (known after apply)

          + initialize_params {
              + image  = "debian-cloud/debian-9"
              + labels = (known after apply)
              + size   = (known after apply)
              + type   = (known after apply)
            }
        }

      + confidential_instance_config {
          + enable_confidential_compute = (known after apply)
        }

      + network_interface {
          + name               = (known after apply)
          + network            = "default"
          + network_ip         = (known after apply)
          + subnetwork         = (known after apply)
          + subnetwork_project = (known after apply)

          + access_config {
              + nat_ip       = (known after apply)
              + network_tier = (known after apply)
            }
        }

      + scheduling {
          + automatic_restart   = true
          + on_host_maintenance = (known after apply)
          + preemptible         = true
        }
    }

  # google_dns_record_set.frontend will be created
+ resource "google_dns_record_set" "frontend" {
      + id           = (known after apply)
      + managed_zone = "zone"
      + name         = "frontend.123"
      + project      = (known after apply)
      + rrdatas      = [
          + "<IP_ADDRESS>]",
        ]
      + ttl          = 300
      + type         = "A"
    }

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

#####

Infracost estimate: monthly cost will decrease by 14.4600% (default branch $555.60 vs current branch $475.30)

--- a/default_branch_infracost.txt
+++ b/current_branch_infracost.txt
+  NAME                                               MONTHLY QTY  UNIT        PRICE   HOURLY COST  MONTHLY COST

   google_compute_instance.instance1
   ├─ Linux/UNIX usage (preemptible, n1-standard-32)          730  hours       0.3200       0.3200      233.6000
   ├─ Standard provisioned storage (pd-standard)               10  GiB         0.0400       0.0005        0.4000
-  └─ NVIDIA Tesla T4 (preemptible)                         2,920  hours       0.1100       0.4400      321.2000
-  Total                                                                                0.7605      555.2000
+  └─ NVIDIA Tesla T4 (preemptible)                         2,190  hours       0.1100       0.3300      240.9000
+  Total                                                                                0.6505      474.9000

   google_dns_record_set.frontend
   └─ Queries                                                   1  1M queries  0.4000       0.0005        0.4000
   Total                                                                                0.0005        0.4000

-  OVERALL TOTAL (USD)                                                                      0.7611      555.6000
+  OVERALL TOTAL (USD)                                                                      0.6511      475.3000

:arrow_forward: To apply this plan, comment:

atlantis apply -d terraform-example-gcp

:put_litter_in_its_place: To delete this plan click here
:repeat: To plan this project again, comment:

atlantis plan -d terraform-example-gcp

:fast_forward: To apply all unapplied plans from this pull request, comment:

atlantis apply

:put_litter_in_its_place: To delete all plans and locks for the PR, comment:

atlantis unlock

atlantis plan -d terraform-example-aws

Ran Plan for dir: terraform-example-aws workspace: default
Show Output

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

Terraform will perform the following actions:

  # aws_instance.web_app will be created
+ resource "aws_instance" "web_app" {
      + ami                          = "ami-674cbc1e"
      + arn                          = (known after apply)
      + associate_public_ip_address  = (known after apply)
      + availability_zone            = (known after apply)
      + cpu_core_count               = (known after apply)
      + cpu_threads_per_core         = (known after apply)
      + get_password_data            = false
      + host_id                      = (known after apply)
      + id                           = (known after apply)
      + instance_state               = (known after apply)
      + instance_type                = "m5.4xlarge"
      + ipv6_address_count           = (known after apply)
      + ipv6_addresses               = (known after apply)
      + key_name                     = (known after apply)
      + outpost_arn                  = (known after apply)
      + password_data                = (known after apply)
      + placement_group              = (known after apply)
      + primary_network_interface_id = (known after apply)
      + private_dns                  = (known after apply)
      + private_ip                   = (known after apply)
      + public_dns                   = (known after apply)
      + public_ip                    = (known after apply)
      + secondary_private_ips        = (known after apply)
      + security_groups              = (known after apply)
      + source_dest_check            = true
      + subnet_id                    = (known after apply)
      + tenancy                      = (known after apply)
      + vpc_security_group_ids       = (known after apply)

      + ebs_block_device {
          + delete_on_termination = true
          + device_name           = "my_data"
          + encrypted             = (known after apply)
          + iops                  = 800
          + kms_key_id            = (known after apply)
          + snapshot_id           = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 1000
          + volume_type           = "io1"
        }

      + enclave_options {
          + enabled = (known after apply)
        }

      + ephemeral_block_device {
          + device_name  = (known after apply)
          + no_device    = (known after apply)
          + virtual_name = (known after apply)
        }

      + metadata_options {
          + http_endpoint               = (known after apply)
          + http_put_response_hop_limit = (known after apply)
          + http_tokens                 = (known after apply)
        }

      + network_interface {
          + delete_on_termination = (known after apply)
          + device_index          = (known after apply)
          + network_interface_id  = (known after apply)
        }

      + root_block_device {
          + delete_on_termination = true
          + device_name           = (known after apply)
          + encrypted             = (known after apply)
          + iops                  = (known after apply)
          + kms_key_id            = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 50
          + volume_type           = (known after apply)
        }
    }

  # aws_lambda_function.hello_world will be created
+ resource "aws_lambda_function" "hello_world" {
      + arn                            = (known after apply)
      + function_name                  = "hello_world"
      + handler                        = "exports.test"
      + id                             = (known after apply)
      + invoke_arn                     = (known after apply)
      + last_modified                  = (known after apply)
      + memory_size                    = 1024
      + package_type                   = "Zip"
      + publish                        = false
      + qualified_arn                  = (known after apply)
      + reserved_concurrent_executions = -1
      + role                           = "arn:aws:lambda:us-east-1:account-id:resource-id"
      + runtime                        = "nodejs12.x"
      + signing_job_arn                = (known after apply)
      + signing_profile_version_arn    = (known after apply)
      + source_code_hash               = (known after apply)
      + source_code_size               = (known after apply)
      + timeout                        = 3
      + version                        = (known after apply)

      + tracing_config {
          + mode = (known after apply)
        }
    }

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

#####
Running Infracost atlantis_diff.sh in debug mode, remove atlantis_debug=true from Atlantis configs to disable debug outputs.

Checking out previous commit on current branch to handle Atlantis merge checkout-strategy.
Running infracost on current branch using:
  $ infracost --no-color --terraform-dir . --usage-file infracost-usage.yml
time="2021-02-09T15:10:11Z" level=info msg="Loading resources from current directory"
time="2021-02-09T15:10:11Z" level=info msg="starting: Running terraform plan"
time="2021-02-09T15:10:11Z" level=info msg="Running command: /usr/local/bin/terraform plan -input=false -lock=false -no-color -out=/tmp/tfplan354429611"
time="2021-02-09T15:10:14Z" level=info msg="starting: Running terraform show"
time="2021-02-09T15:10:14Z" level=info msg="Running command: /usr/local/bin/terraform show -no-color -json /tmp/tfplan354429611"
time="2021-02-09T15:10:15Z" level=info msg="starting: Calculating cost estimate"
current_branch_monthly_cost is 1179.31
Switching to default branch
commit bfd7dc53864b84eb4eea77e4afc7e248341ea9a3
Author: Ali<EMAIL_ADDRESS>Date:   Sun Feb 7 20:23:09 2021 +0000

    feat: update integration to use infracost v0.7.17
Running infracost on default branch using:
  $ infracost --no-color --terraform-dir . --usage-file infracost-usage.yml
time="2021-02-09T15:10:15Z" level=info msg="Loading resources from current directory"
time="2021-02-09T15:10:15Z" level=info msg="starting: Running terraform plan"
time="2021-02-09T15:10:15Z" level=info msg="Running command: /usr/local/bin/terraform plan -input=false -lock=false -no-color -out=/tmp/tfplan722885296"
time="2021-02-09T15:10:17Z" level=info msg="starting: Running terraform show"
time="2021-02-09T15:10:17Z" level=info msg="Running command: /usr/local/bin/terraform show -no-color -json /tmp/tfplan722885296"
time="2021-02-09T15:10:18Z" level=info msg="starting: Calculating cost estimate"
default_branch_monthly_cost is 1185.81
#####

Infracost estimate: monthly cost will decrease by .5500% (default branch $1185.81 vs current branch $1179.31)

--- a/default_branch_infracost.txt
+++ b/current_branch_infracost.txt
+  NAME                                         MONTHLY QTY  UNIT         PRICE   HOURLY COST  MONTHLY COST

   aws_instance.web_app
   ├─ Linux/UNIX usage (on-demand, m5.4xlarge)          730  hours        0.7680       0.7680      560.6400
@@ -7,12 +7,12 @@
   │  └─ General Purpose SSD storage (gp2)               50  GB-months    0.1000       0.0068        5.0000
   └─ ebs_block_device[0]
      ├─ Provisioned IOPS SSD storage (io1)           1,000  GB-months    0.1250       0.1712      125.0000
-     └─ Provisioned IOPS                               900  IOPS-months  0.0650       0.0801       58.5000
-  Total                                                                               1.0262      749.1400
+     └─ Provisioned IOPS                               800  IOPS-months  0.0650       0.0712       52.0000
+  Total                                                                               1.0173      742.6400

   aws_lambda_function.hello_world
   ├─ Requests                                          100  1M requests  0.2000       0.0274       20.0000
   └─ Duration                                   25,000,000  GB-seconds    2e-05       0.5708      416.6675
   Total                                                                               0.5982      436.6675

-  OVERALL TOTAL (USD)                                                                 1.6244    1,185.8075
+  OVERALL TOTAL (USD)                                                                 1.6155    1,179.3075

:arrow_forward: To apply this plan, comment:

atlantis apply -d terraform-example-aws

:put_litter_in_its_place: To delete this plan click here
:repeat: To plan this project again, comment:

atlantis plan -d terraform-example-aws

:fast_forward: To apply all unapplied plans from this pull request, comment:

atlantis apply

:put_litter_in_its_place: To delete all plans and locks for the PR, comment:

atlantis unlock

atlantis plan -d terraform-example-aws

Ran Plan for dir: terraform-example-aws workspace: default
Show Output

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

Terraform will perform the following actions:

  # aws_instance.web_app will be created
+ resource "aws_instance" "web_app" {
      + ami                          = "ami-674cbc1e"
      + arn                          = (known after apply)
      + associate_public_ip_address  = (known after apply)
      + availability_zone            = (known after apply)
      + cpu_core_count               = (known after apply)
      + cpu_threads_per_core         = (known after apply)
      + get_password_data            = false
      + host_id                      = (known after apply)
      + id                           = (known after apply)
      + instance_state               = (known after apply)
      + instance_type                = "m5.4xlarge"
      + ipv6_address_count           = (known after apply)
      + ipv6_addresses               = (known after apply)
      + key_name                     = (known after apply)
      + outpost_arn                  = (known after apply)
      + password_data                = (known after apply)
      + placement_group              = (known after apply)
      + primary_network_interface_id = (known after apply)
      + private_dns                  = (known after apply)
      + private_ip                   = (known after apply)
      + public_dns                   = (known after apply)
      + public_ip                    = (known after apply)
      + secondary_private_ips        = (known after apply)
      + security_groups              = (known after apply)
      + source_dest_check            = true
      + subnet_id                    = (known after apply)
      + tenancy                      = (known after apply)
      + vpc_security_group_ids       = (known after apply)

      + ebs_block_device {
          + delete_on_termination = true
          + device_name           = "my_data"
          + encrypted             = (known after apply)
          + iops                  = 800
          + kms_key_id            = (known after apply)
          + snapshot_id           = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 1000
          + volume_type           = "io1"
        }

      + enclave_options {
          + enabled = (known after apply)
        }

      + ephemeral_block_device {
          + device_name  = (known after apply)
          + no_device    = (known after apply)
          + virtual_name = (known after apply)
        }

      + metadata_options {
          + http_endpoint               = (known after apply)
          + http_put_response_hop_limit = (known after apply)
          + http_tokens                 = (known after apply)
        }

      + network_interface {
          + delete_on_termination = (known after apply)
          + device_index          = (known after apply)
          + network_interface_id  = (known after apply)
        }

      + root_block_device {
          + delete_on_termination = true
          + device_name           = (known after apply)
          + encrypted             = (known after apply)
          + iops                  = (known after apply)
          + kms_key_id            = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 50
          + volume_type           = (known after apply)
        }
    }

  # aws_lambda_function.hello_world will be created
+ resource "aws_lambda_function" "hello_world" {
      + arn                            = (known after apply)
      + function_name                  = "hello_world"
      + handler                        = "exports.test"
      + id                             = (known after apply)
      + invoke_arn                     = (known after apply)
      + last_modified                  = (known after apply)
      + memory_size                    = 1024
      + package_type                   = "Zip"
      + publish                        = false
      + qualified_arn                  = (known after apply)
      + reserved_concurrent_executions = -1
      + role                           = "arn:aws:lambda:us-east-1:account-id:resource-id"
      + runtime                        = "nodejs12.x"
      + signing_job_arn                = (known after apply)
      + signing_profile_version_arn    = (known after apply)
      + source_code_hash               = (known after apply)
      + source_code_size               = (known after apply)
      + timeout                        = 3
      + version                        = (known after apply)

      + tracing_config {
          + mode = (known after apply)
        }
    }

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

#####
Running Infracost atlantis_diff.sh in debug mode, remove atlantis_debug=true from Atlantis configs to disable debug outputs.

Checking out previous commit on current branch to handle Atlantis merge checkout-strategy.
Running infracost on current branch using:
  $ infracost --no-color --terraform-dir . --usage-file infracost-usage.yml
time="2021-02-09T15:11:17Z" level=info msg="Loading resources from current directory"
time="2021-02-09T15:11:17Z" level=info msg="starting: Running terraform plan"
time="2021-02-09T15:11:17Z" level=info msg="Running command: /usr/local/bin/terraform plan -input=false -lock=false -no-color -out=/tmp/tfplan395038619"
time="2021-02-09T15:11:19Z" level=info msg="starting: Running terraform show"
time="2021-02-09T15:11:19Z" level=info msg="Running command: /usr/local/bin/terraform show -no-color -json /tmp/tfplan395038619"
time="2021-02-09T15:11:20Z" level=info msg="starting: Calculating cost estimate"
current_branch_monthly_cost is 1179.31
Switching to default branch
commit bfd7dc53864b84eb4eea77e4afc7e248341ea9a3
Author: Ali<EMAIL_ADDRESS>Date:   Sun Feb 7 20:23:09 2021 +0000

    feat: update integration to use infracost v0.7.17
Running infracost on default branch using:
  $ infracost --no-color --terraform-dir . --usage-file infracost-usage.yml
time="2021-02-09T15:11:21Z" level=info msg="Loading resources from current directory"
time="2021-02-09T15:11:21Z" level=info msg="starting: Running terraform plan"
time="2021-02-09T15:11:21Z" level=info msg="Running command: /usr/local/bin/terraform plan -input=false -lock=false -no-color -out=/tmp/tfplan102749536"
time="2021-02-09T15:11:23Z" level=info msg="starting: Running terraform show"
time="2021-02-09T15:11:23Z" level=info msg="Running command: /usr/local/bin/terraform show -no-color -json /tmp/tfplan102749536"
time="2021-02-09T15:11:24Z" level=info msg="starting: Calculating cost estimate"
default_branch_monthly_cost is 1185.81
#####

Infracost estimate: monthly cost will decrease by .5500% (default branch $1185.81 vs current branch $1179.31)

--- a/default_branch_infracost.txt
+++ b/current_branch_infracost.txt
+  NAME                                         MONTHLY QTY  UNIT         PRICE   HOURLY COST  MONTHLY COST

   aws_instance.web_app
   ├─ Linux/UNIX usage (on-demand, m5.4xlarge)          730  hours        0.7680       0.7680      560.6400
@@ -7,12 +7,12 @@
   │  └─ General Purpose SSD storage (gp2)               50  GB-months    0.1000       0.0068        5.0000
   └─ ebs_block_device[0]
      ├─ Provisioned IOPS SSD storage (io1)           1,000  GB-months    0.1250       0.1712      125.0000
-     └─ Provisioned IOPS                               900  IOPS-months  0.0650       0.0801       58.5000
-  Total                                                                               1.0262      749.1400
+     └─ Provisioned IOPS                               800  IOPS-months  0.0650       0.0712       52.0000
+  Total                                                                               1.0173      742.6400

   aws_lambda_function.hello_world
   ├─ Requests                                          100  1M requests  0.2000       0.0274       20.0000
   └─ Duration                                   25,000,000  GB-seconds    2e-05       0.5708      416.6675
   Total                                                                               0.5982      436.6675

-  OVERALL TOTAL (USD)                                                                 1.6244    1,185.8075
+  OVERALL TOTAL (USD)                                                                 1.6155    1,179.3075

:arrow_forward: To apply this plan, comment:

atlantis apply -d terraform-example-aws

:put_litter_in_its_place: To delete this plan click here
:repeat: To plan this project again, comment:

atlantis plan -d terraform-example-aws

:fast_forward: To apply all unapplied plans from this pull request, comment:

atlantis apply

:put_litter_in_its_place: To delete all plans and locks for the PR, comment:

atlantis unlock

atlantis plan -d terraform-example-aws

Ran Plan for dir: terraform-example-aws workspace: default
Show Output

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

Terraform will perform the following actions:

  # aws_instance.web_app will be created
+ resource "aws_instance" "web_app" {
      + ami                          = "ami-674cbc1e"
      + arn                          = (known after apply)
      + associate_public_ip_address  = (known after apply)
      + availability_zone            = (known after apply)
      + cpu_core_count               = (known after apply)
      + cpu_threads_per_core         = (known after apply)
      + get_password_data            = false
      + host_id                      = (known after apply)
      + id                           = (known after apply)
      + instance_state               = (known after apply)
      + instance_type                = "m5.4xlarge"
      + ipv6_address_count           = (known after apply)
      + ipv6_addresses               = (known after apply)
      + key_name                     = (known after apply)
      + outpost_arn                  = (known after apply)
      + password_data                = (known after apply)
      + placement_group              = (known after apply)
      + primary_network_interface_id = (known after apply)
      + private_dns                  = (known after apply)
      + private_ip                   = (known after apply)
      + public_dns                   = (known after apply)
      + public_ip                    = (known after apply)
      + secondary_private_ips        = (known after apply)
      + security_groups              = (known after apply)
      + source_dest_check            = true
      + subnet_id                    = (known after apply)
      + tenancy                      = (known after apply)
      + vpc_security_group_ids       = (known after apply)

      + ebs_block_device {
          + delete_on_termination = true
          + device_name           = "my_data"
          + encrypted             = (known after apply)
          + iops                  = 800
          + kms_key_id            = (known after apply)
          + snapshot_id           = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 1000
          + volume_type           = "io1"
        }

      + enclave_options {
          + enabled = (known after apply)
        }

      + ephemeral_block_device {
          + device_name  = (known after apply)
          + no_device    = (known after apply)
          + virtual_name = (known after apply)
        }

      + metadata_options {
          + http_endpoint               = (known after apply)
          + http_put_response_hop_limit = (known after apply)
          + http_tokens                 = (known after apply)
        }

      + network_interface {
          + delete_on_termination = (known after apply)
          + device_index          = (known after apply)
          + network_interface_id  = (known after apply)
        }

      + root_block_device {
          + delete_on_termination = true
          + device_name           = (known after apply)
          + encrypted             = (known after apply)
          + iops                  = (known after apply)
          + kms_key_id            = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 50
          + volume_type           = (known after apply)
        }
    }

  # aws_lambda_function.hello_world will be created
+ resource "aws_lambda_function" "hello_world" {
      + arn                            = (known after apply)
      + function_name                  = "hello_world"
      + handler                        = "exports.test"
      + id                             = (known after apply)
      + invoke_arn                     = (known after apply)
      + last_modified                  = (known after apply)
      + memory_size                    = 1024
      + package_type                   = "Zip"
      + publish                        = false
      + qualified_arn                  = (known after apply)
      + reserved_concurrent_executions = -1
      + role                           = "arn:aws:lambda:us-east-1:account-id:resource-id"
      + runtime                        = "nodejs12.x"
      + signing_job_arn                = (known after apply)
      + signing_profile_version_arn    = (known after apply)
      + source_code_hash               = (known after apply)
      + source_code_size               = (known after apply)
      + timeout                        = 3
      + version                        = (known after apply)

      + tracing_config {
          + mode = (known after apply)
        }
    }

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

#####
Running Infracost atlantis_diff.sh in debug mode, remove atlantis_debug=true from Atlantis configs to disable debug outputs.

Checking out previous commit on current branch to handle Atlantis merge checkout-strategy.
Running infracost on current branch using:
  $ infracost --no-color --terraform-dir . --usage-file infracost-usage.yml
time="2021-02-09T15:14:56Z" level=info msg="Loading resources from current directory"
time="2021-02-09T15:14:56Z" level=info msg="starting: Running terraform plan"
time="2021-02-09T15:14:56Z" level=info msg="Running command: /usr/local/bin/terraform plan -input=false -lock=false -no-color -out=/tmp/tfplan717297729"
time="2021-02-09T15:14:58Z" level=info msg="starting: Running terraform show"
time="2021-02-09T15:14:58Z" level=info msg="Running command: /usr/local/bin/terraform show -no-color -json /tmp/tfplan717297729"
time="2021-02-09T15:14:59Z" level=info msg="starting: Calculating cost estimate"
current_branch_monthly_cost is 1179.31
Switching to default branch
commit bfd7dc53864b84eb4eea77e4afc7e248341ea9a3
Author: Ali<EMAIL_ADDRESS>Date:   Sun Feb 7 20:23:09 2021 +0000

    feat: update integration to use infracost v0.7.17
Running infracost on default branch using:
  $ infracost --no-color --terraform-dir . --usage-file infracost-usage.yml
time="2021-02-09T15:15:00Z" level=info msg="Loading resources from current directory"
time="2021-02-09T15:15:00Z" level=info msg="starting: Running terraform plan"
time="2021-02-09T15:15:00Z" level=info msg="Running command: /usr/local/bin/terraform plan -input=false -lock=false -no-color -out=/tmp/tfplan070397830"
time="2021-02-09T15:15:02Z" level=info msg="starting: Running terraform show"
time="2021-02-09T15:15:02Z" level=info msg="Running command: /usr/local/bin/terraform show -no-color -json /tmp/tfplan070397830"
time="2021-02-09T15:15:03Z" level=info msg="starting: Calculating cost estimate"
default_branch_monthly_cost is 1185.81
#####

Infracost estimate: monthly cost will decrease by .5500% (default branch $1185.81 vs current branch $1179.31)

--- a/default_branch_infracost.txt
+++ b/current_branch_infracost.txt
+  NAME                                         MONTHLY QTY  UNIT         PRICE   HOURLY COST  MONTHLY COST

   aws_instance.web_app
   ├─ Linux/UNIX usage (on-demand, m5.4xlarge)          730  hours        0.7680       0.7680      560.6400
@@ -7,12 +7,12 @@
   │  └─ General Purpose SSD storage (gp2)               50  GB-months    0.1000       0.0068        5.0000
   └─ ebs_block_device[0]
      ├─ Provisioned IOPS SSD storage (io1)           1,000  GB-months    0.1250       0.1712      125.0000
-     └─ Provisioned IOPS                               900  IOPS-months  0.0650       0.0801       58.5000
-  Total                                                                               1.0262      749.1400
+     └─ Provisioned IOPS                               800  IOPS-months  0.0650       0.0712       52.0000
+  Total                                                                               1.0173      742.6400

   aws_lambda_function.hello_world
   ├─ Requests                                          100  1M requests  0.2000       0.0274       20.0000
   └─ Duration                                   25,000,000  GB-seconds    2e-05       0.5708      416.6675
   Total                                                                               0.5982      436.6675

-  OVERALL TOTAL (USD)                                                                 1.6244    1,185.8075
+  OVERALL TOTAL (USD)                                                                 1.6155    1,179.3075

:arrow_forward: To apply this plan, comment:

atlantis apply -d terraform-example-aws

:put_litter_in_its_place: To delete this plan click here
:repeat: To plan this project again, comment:

atlantis plan -d terraform-example-aws

:fast_forward: To apply all unapplied plans from this pull request, comment:

atlantis apply

:put_litter_in_its_place: To delete all plans and locks for the PR, comment:

atlantis unlock

atlantis plan -d terraform-example-aws

Ran Plan for dir: terraform-example-aws workspace: default
Show Output

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

Terraform will perform the following actions:

  # aws_instance.web_app will be created
+ resource "aws_instance" "web_app" {
      + ami                          = "ami-674cbc1e"
      + arn                          = (known after apply)
      + associate_public_ip_address  = (known after apply)
      + availability_zone            = (known after apply)
      + cpu_core_count               = (known after apply)
      + cpu_threads_per_core         = (known after apply)
      + get_password_data            = false
      + host_id                      = (known after apply)
      + id                           = (known after apply)
      + instance_state               = (known after apply)
      + instance_type                = "m5.4xlarge"
      + ipv6_address_count           = (known after apply)
      + ipv6_addresses               = (known after apply)
      + key_name                     = (known after apply)
      + outpost_arn                  = (known after apply)
      + password_data                = (known after apply)
      + placement_group              = (known after apply)
      + primary_network_interface_id = (known after apply)
      + private_dns                  = (known after apply)
      + private_ip                   = (known after apply)
      + public_dns                   = (known after apply)
      + public_ip                    = (known after apply)
      + secondary_private_ips        = (known after apply)
      + security_groups              = (known after apply)
      + source_dest_check            = true
      + subnet_id                    = (known after apply)
      + tenancy                      = (known after apply)
      + vpc_security_group_ids       = (known after apply)

      + ebs_block_device {
          + delete_on_termination = true
          + device_name           = "my_data"
          + encrypted             = (known after apply)
          + iops                  = 800
          + kms_key_id            = (known after apply)
          + snapshot_id           = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 1000
          + volume_type           = "io1"
        }

      + enclave_options {
          + enabled = (known after apply)
        }

      + ephemeral_block_device {
          + device_name  = (known after apply)
          + no_device    = (known after apply)
          + virtual_name = (known after apply)
        }

      + metadata_options {
          + http_endpoint               = (known after apply)
          + http_put_response_hop_limit = (known after apply)
          + http_tokens                 = (known after apply)
        }

      + network_interface {
          + delete_on_termination = (known after apply)
          + device_index          = (known after apply)
          + network_interface_id  = (known after apply)
        }

      + root_block_device {
          + delete_on_termination = true
          + device_name           = (known after apply)
          + encrypted             = (known after apply)
          + iops                  = (known after apply)
          + kms_key_id            = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 50
          + volume_type           = (known after apply)
        }
    }

  # aws_lambda_function.hello_world will be created
+ resource "aws_lambda_function" "hello_world" {
      + arn                            = (known after apply)
      + function_name                  = "hello_world"
      + handler                        = "exports.test"
      + id                             = (known after apply)
      + invoke_arn                     = (known after apply)
      + last_modified                  = (known after apply)
      + memory_size                    = 1024
      + package_type                   = "Zip"
      + publish                        = false
      + qualified_arn                  = (known after apply)
      + reserved_concurrent_executions = -1
      + role                           = "arn:aws:lambda:us-east-1:account-id:resource-id"
      + runtime                        = "nodejs12.x"
      + signing_job_arn                = (known after apply)
      + signing_profile_version_arn    = (known after apply)
      + source_code_hash               = (known after apply)
      + source_code_size               = (known after apply)
      + timeout                        = 3
      + version                        = (known after apply)

      + tracing_config {
          + mode = (known after apply)
        }
    }

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

#####
Running Infracost atlantis_diff.sh in debug mode, remove atlantis_debug=true from Atlantis configs to disable debug outputs.

here
head<EMAIL_ADDRESS>(fetch)
head<EMAIL_ADDRESS>(push)
origin<EMAIL_ADDRESS>(fetch)
origin<EMAIL_ADDRESS>(push)
endhere
Checking out previous commit on current branch to handle Atlantis merge checkout-strategy.
Running infracost on current branch using:
  $ infracost --no-color --terraform-dir . --usage-file infracost-usage.yml
time="2021-02-09T15:21:31Z" level=info msg="Loading resources from current directory"
time="2021-02-09T15:21:31Z" level=info msg="starting: Running terraform plan"
time="2021-02-09T15:21:31Z" level=info msg="Running command: /usr/local/bin/terraform plan -input=false -lock=false -no-color -out=/tmp/tfplan961376500"
time="2021-02-09T15:21:34Z" level=info msg="starting: Running terraform show"
time="2021-02-09T15:21:34Z" level=info msg="Running command: /usr/local/bin/terraform show -no-color -json /tmp/tfplan961376500"
time="2021-02-09T15:21:35Z" level=info msg="starting: Calculating cost estimate"
current_branch_monthly_cost is 1179.31
Switching to default branch
commit bfd7dc53864b84eb4eea77e4afc7e248341ea9a3
Author: Ali<EMAIL_ADDRESS>Date:   Sun Feb 7 20:23:09 2021 +0000

    feat: update integration to use infracost v0.7.17
Running infracost on default branch using:
  $ infracost --no-color --terraform-dir . --usage-file infracost-usage.yml
time="2021-02-09T15:21:35Z" level=info msg="Loading resources from current directory"
time="2021-02-09T15:21:35Z" level=info msg="starting: Running terraform plan"
time="2021-02-09T15:21:35Z" level=info msg="Running command: /usr/local/bin/terraform plan -input=false -lock=false -no-color -out=/tmp/tfplan443732387"
time="2021-02-09T15:21:37Z" level=info msg="starting: Running terraform show"
time="2021-02-09T15:21:37Z" level=info msg="Running command: /usr/local/bin/terraform show -no-color -json /tmp/tfplan443732387"
time="2021-02-09T15:21:38Z" level=info msg="starting: Calculating cost estimate"
default_branch_monthly_cost is 1185.81
#####

Infracost estimate: monthly cost will decrease by .5500% (default branch $1185.81 vs current branch $1179.31)

--- a/default_branch_infracost.txt
+++ b/current_branch_infracost.txt
+  NAME                                         MONTHLY QTY  UNIT         PRICE   HOURLY COST  MONTHLY COST

   aws_instance.web_app
   ├─ Linux/UNIX usage (on-demand, m5.4xlarge)          730  hours        0.7680       0.7680      560.6400
@@ -7,12 +7,12 @@
   │  └─ General Purpose SSD storage (gp2)               50  GB-months    0.1000       0.0068        5.0000
   └─ ebs_block_device[0]
      ├─ Provisioned IOPS SSD storage (io1)           1,000  GB-months    0.1250       0.1712      125.0000
-     └─ Provisioned IOPS                               900  IOPS-months  0.0650       0.0801       58.5000
-  Total                                                                               1.0262      749.1400
+     └─ Provisioned IOPS                               800  IOPS-months  0.0650       0.0712       52.0000
+  Total                                                                               1.0173      742.6400

   aws_lambda_function.hello_world
   ├─ Requests                                          100  1M requests  0.2000       0.0274       20.0000
   └─ Duration                                   25,000,000  GB-seconds    2e-05       0.5708      416.6675
   Total                                                                               0.5982      436.6675

-  OVERALL TOTAL (USD)                                                                 1.6244    1,185.8075
+  OVERALL TOTAL (USD)                                                                 1.6155    1,179.3075

:arrow_forward: To apply this plan, comment:

atlantis apply -d terraform-example-aws

:put_litter_in_its_place: To delete this plan click here
:repeat: To plan this project again, comment:

atlantis plan -d terraform-example-aws

:fast_forward: To apply all unapplied plans from this pull request, comment:

atlantis apply

:put_litter_in_its_place: To delete all plans and locks for the PR, comment:

atlantis unlock

atlantis plan -d terraform-example-aws

Ran Plan for dir: terraform-example-aws workspace: default
Show Output

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

Terraform will perform the following actions:

  # aws_instance.web_app will be created
+ resource "aws_instance" "web_app" {
      + ami                          = "ami-674cbc1e"
      + arn                          = (known after apply)
      + associate_public_ip_address  = (known after apply)
      + availability_zone            = (known after apply)
      + cpu_core_count               = (known after apply)
      + cpu_threads_per_core         = (known after apply)
      + get_password_data            = false
      + host_id                      = (known after apply)
      + id                           = (known after apply)
      + instance_state               = (known after apply)
      + instance_type                = "m5.4xlarge"
      + ipv6_address_count           = (known after apply)
      + ipv6_addresses               = (known after apply)
      + key_name                     = (known after apply)
      + outpost_arn                  = (known after apply)
      + password_data                = (known after apply)
      + placement_group              = (known after apply)
      + primary_network_interface_id = (known after apply)
      + private_dns                  = (known after apply)
      + private_ip                   = (known after apply)
      + public_dns                   = (known after apply)
      + public_ip                    = (known after apply)
      + secondary_private_ips        = (known after apply)
      + security_groups              = (known after apply)
      + source_dest_check            = true
      + subnet_id                    = (known after apply)
      + tenancy                      = (known after apply)
      + vpc_security_group_ids       = (known after apply)

      + ebs_block_device {
          + delete_on_termination = true
          + device_name           = "my_data"
          + encrypted             = (known after apply)
          + iops                  = 800
          + kms_key_id            = (known after apply)
          + snapshot_id           = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 1000
          + volume_type           = "io1"
        }

      + enclave_options {
          + enabled = (known after apply)
        }

      + ephemeral_block_device {
          + device_name  = (known after apply)
          + no_device    = (known after apply)
          + virtual_name = (known after apply)
        }

      + metadata_options {
          + http_endpoint               = (known after apply)
          + http_put_response_hop_limit = (known after apply)
          + http_tokens                 = (known after apply)
        }

      + network_interface {
          + delete_on_termination = (known after apply)
          + device_index          = (known after apply)
          + network_interface_id  = (known after apply)
        }

      + root_block_device {
          + delete_on_termination = true
          + device_name           = (known after apply)
          + encrypted             = (known after apply)
          + iops                  = (known after apply)
          + kms_key_id            = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 50
          + volume_type           = (known after apply)
        }
    }

  # aws_lambda_function.hello_world will be created
+ resource "aws_lambda_function" "hello_world" {
      + arn                            = (known after apply)
      + function_name                  = "hello_world"
      + handler                        = "exports.test"
      + id                             = (known after apply)
      + invoke_arn                     = (known after apply)
      + last_modified                  = (known after apply)
      + memory_size                    = 1024
      + package_type                   = "Zip"
      + publish                        = false
      + qualified_arn                  = (known after apply)
      + reserved_concurrent_executions = -1
      + role                           = "arn:aws:lambda:us-east-1:account-id:resource-id"
      + runtime                        = "nodejs12.x"
      + signing_job_arn                = (known after apply)
      + signing_profile_version_arn    = (known after apply)
      + source_code_hash               = (known after apply)
      + source_code_size               = (known after apply)
      + timeout                        = 3
      + version                        = (known after apply)

      + tracing_config {
          + mode = (known after apply)
        }
    }

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

#####
Running Infracost atlantis_diff.sh in debug mode, remove atlantis_debug=true from Atlantis configs to disable debug outputs.

Detected Atlantis merge checkout-strategy so checking out head branch.
Running infracost on current branch using:
  $ infracost --no-color --terraform-dir . --usage-file infracost-usage.yml
time="2021-02-09T15:37:50Z" level=info msg="Loading resources from current directory"
time="2021-02-09T15:37:50Z" level=info msg="starting: Running terraform plan"
time="2021-02-09T15:37:50Z" level=info msg="Running command: /usr/local/bin/terraform plan -input=false -lock=false -no-color -out=/tmp/tfplan047898219"
time="2021-02-09T15:37:52Z" level=info msg="starting: Running terraform show"
time="2021-02-09T15:37:52Z" level=info msg="Running command: /usr/local/bin/terraform show -no-color -json /tmp/tfplan047898219"
time="2021-02-09T15:37:53Z" level=info msg="starting: Calculating cost estimate"
current_branch_monthly_cost is 1179.31
Switching to default branch
commit bfd7dc53864b84eb4eea77e4afc7e248341ea9a3
Author: Ali<EMAIL_ADDRESS>Date:   Sun Feb 7 20:23:09 2021 +0000

    feat: update integration to use infracost v0.7.17
Running infracost on default branch using:
  $ infracost --no-color --terraform-dir . --usage-file infracost-usage.yml
time="2021-02-09T15:37:53Z" level=info msg="Loading resources from current directory"
time="2021-02-09T15:37:53Z" level=info msg="starting: Running terraform plan"
time="2021-02-09T15:37:53Z" level=info msg="Running command: /usr/local/bin/terraform plan -input=false -lock=false -no-color -out=/tmp/tfplan569549218"
time="2021-02-09T15:37:55Z" level=info msg="starting: Running terraform show"
time="2021-02-09T15:37:55Z" level=info msg="Running command: /usr/local/bin/terraform show -no-color -json /tmp/tfplan569549218"
time="2021-02-09T15:37:56Z" level=info msg="starting: Calculating cost estimate"
default_branch_monthly_cost is 1185.81
#####

Infracost estimate: monthly cost will decrease by .5500% (default branch $1185.81 vs current branch $1179.31)

--- a/default_branch_infracost.txt
+++ b/current_branch_infracost.txt
+  NAME                                         MONTHLY QTY  UNIT         PRICE   HOURLY COST  MONTHLY COST

   aws_instance.web_app
   ├─ Linux/UNIX usage (on-demand, m5.4xlarge)          730  hours        0.7680       0.7680      560.6400
@@ -7,12 +7,12 @@
   │  └─ General Purpose SSD storage (gp2)               50  GB-months    0.1000       0.0068        5.0000
   └─ ebs_block_device[0]
      ├─ Provisioned IOPS SSD storage (io1)           1,000  GB-months    0.1250       0.1712      125.0000
-     └─ Provisioned IOPS                               900  IOPS-months  0.0650       0.0801       58.5000
-  Total                                                                               1.0262      749.1400
+     └─ Provisioned IOPS                               800  IOPS-months  0.0650       0.0712       52.0000
+  Total                                                                               1.0173      742.6400

   aws_lambda_function.hello_world
   ├─ Requests                                          100  1M requests  0.2000       0.0274       20.0000
   └─ Duration                                   25,000,000  GB-seconds    2e-05       0.5708      416.6675
   Total                                                                               0.5982      436.6675

-  OVERALL TOTAL (USD)                                                                 1.6244    1,185.8075
+  OVERALL TOTAL (USD)                                                                 1.6155    1,179.3075

:arrow_forward: To apply this plan, comment:

atlantis apply -d terraform-example-aws

:put_litter_in_its_place: To delete this plan click here
:repeat: To plan this project again, comment:

atlantis plan -d terraform-example-aws

:fast_forward: To apply all unapplied plans from this pull request, comment:

atlantis apply

:put_litter_in_its_place: To delete all plans and locks for the PR, comment:

atlantis unlock

atlantis plan -d terraform-example-aws

Ran Plan for dir: terraform-example-aws workspace: default
Show Output

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

Terraform will perform the following actions:

  # aws_instance.web_app will be created
+ resource "aws_instance" "web_app" {
      + ami                          = "ami-674cbc1e"
      + arn                          = (known after apply)
      + associate_public_ip_address  = (known after apply)
      + availability_zone            = (known after apply)
      + cpu_core_count               = (known after apply)
      + cpu_threads_per_core         = (known after apply)
      + get_password_data            = false
      + host_id                      = (known after apply)
      + id                           = (known after apply)
      + instance_state               = (known after apply)
      + instance_type                = "m5.4xlarge"
      + ipv6_address_count           = (known after apply)
      + ipv6_addresses               = (known after apply)
      + key_name                     = (known after apply)
      + outpost_arn                  = (known after apply)
      + password_data                = (known after apply)
      + placement_group              = (known after apply)
      + primary_network_interface_id = (known after apply)
      + private_dns                  = (known after apply)
      + private_ip                   = (known after apply)
      + public_dns                   = (known after apply)
      + public_ip                    = (known after apply)
      + secondary_private_ips        = (known after apply)
      + security_groups              = (known after apply)
      + source_dest_check            = true
      + subnet_id                    = (known after apply)
      + tenancy                      = (known after apply)
      + vpc_security_group_ids       = (known after apply)

      + ebs_block_device {
          + delete_on_termination = true
          + device_name           = "my_data"
          + encrypted             = (known after apply)
          + iops                  = 800
          + kms_key_id            = (known after apply)
          + snapshot_id           = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 1000
          + volume_type           = "io1"
        }

      + enclave_options {
          + enabled = (known after apply)
        }

      + ephemeral_block_device {
          + device_name  = (known after apply)
          + no_device    = (known after apply)
          + virtual_name = (known after apply)
        }

      + metadata_options {
          + http_endpoint               = (known after apply)
          + http_put_response_hop_limit = (known after apply)
          + http_tokens                 = (known after apply)
        }

      + network_interface {
          + delete_on_termination = (known after apply)
          + device_index          = (known after apply)
          + network_interface_id  = (known after apply)
        }

      + root_block_device {
          + delete_on_termination = true
          + device_name           = (known after apply)
          + encrypted             = (known after apply)
          + iops                  = (known after apply)
          + kms_key_id            = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 50
          + volume_type           = (known after apply)
        }
    }

  # aws_lambda_function.hello_world will be created
+ resource "aws_lambda_function" "hello_world" {
      + arn                            = (known after apply)
      + function_name                  = "hello_world"
      + handler                        = "exports.test"
      + id                             = (known after apply)
      + invoke_arn                     = (known after apply)
      + last_modified                  = (known after apply)
      + memory_size                    = 1024
      + package_type                   = "Zip"
      + publish                        = false
      + qualified_arn                  = (known after apply)
      + reserved_concurrent_executions = -1
      + role                           = "arn:aws:lambda:us-east-1:account-id:resource-id"
      + runtime                        = "nodejs12.x"
      + signing_job_arn                = (known after apply)
      + signing_profile_version_arn    = (known after apply)
      + source_code_hash               = (known after apply)
      + source_code_size               = (known after apply)
      + timeout                        = 3
      + version                        = (known after apply)

      + tracing_config {
          + mode = (known after apply)
        }
    }

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

#####
Running Infracost atlantis_diff.sh in debug mode, remove atlantis_debug=true from Atlantis configs to disable debug outputs.

Detected Atlantis merge checkout-strategy so checking out head branch to avoid running against Atlantis' temporary merge commit.
Running infracost on current branch using:
  $ infracost --no-color --terraform-dir . --usage-file infracost-usage.yml
time="2021-02-09T15:40:51Z" level=info msg="Loading resources from current directory"
time="2021-02-09T15:40:51Z" level=info msg="starting: Running terraform plan"
time="2021-02-09T15:40:51Z" level=info msg="Running command: /usr/local/bin/terraform plan -input=false -lock=false -no-color -out=/tmp/tfplan271226197"
time="2021-02-09T15:40:53Z" level=info msg="starting: Running terraform show"
time="2021-02-09T15:40:53Z" level=info msg="Running command: /usr/local/bin/terraform show -no-color -json /tmp/tfplan271226197"
time="2021-02-09T15:40:54Z" level=info msg="starting: Calculating cost estimate"
current_branch_monthly_cost is 1179.31
Switching to default branch
commit bfd7dc53864b84eb4eea77e4afc7e248341ea9a3
Author: Ali<EMAIL_ADDRESS>Date:   Sun Feb 7 20:23:09 2021 +0000

    feat: update integration to use infracost v0.7.17
Running infracost on default branch using:
  $ infracost --no-color --terraform-dir . --usage-file infracost-usage.yml
time="2021-02-09T15:40:55Z" level=info msg="Loading resources from current directory"
time="2021-02-09T15:40:55Z" level=info msg="starting: Running terraform plan"
time="2021-02-09T15:40:55Z" level=info msg="Running command: /usr/local/bin/terraform plan -input=false -lock=false -no-color -out=/tmp/tfplan752552097"
time="2021-02-09T15:40:57Z" level=info msg="starting: Running terraform show"
time="2021-02-09T15:40:57Z" level=info msg="Running command: /usr/local/bin/terraform show -no-color -json /tmp/tfplan752552097"
time="2021-02-09T15:40:58Z" level=info msg="starting: Calculating cost estimate"
default_branch_monthly_cost is 1185.81
#####

Infracost estimate: monthly cost will decrease by .5500% (default branch $1185.81 vs current branch $1179.31)

--- a/default_branch_infracost.txt
+++ b/current_branch_infracost.txt
+  NAME                                         MONTHLY QTY  UNIT         PRICE   HOURLY COST  MONTHLY COST

   aws_instance.web_app
   ├─ Linux/UNIX usage (on-demand, m5.4xlarge)          730  hours        0.7680       0.7680      560.6400
@@ -7,12 +7,12 @@
   │  └─ General Purpose SSD storage (gp2)               50  GB-months    0.1000       0.0068        5.0000
   └─ ebs_block_device[0]
      ├─ Provisioned IOPS SSD storage (io1)           1,000  GB-months    0.1250       0.1712      125.0000
-     └─ Provisioned IOPS                               900  IOPS-months  0.0650       0.0801       58.5000
-  Total                                                                               1.0262      749.1400
+     └─ Provisioned IOPS                               800  IOPS-months  0.0650       0.0712       52.0000
+  Total                                                                               1.0173      742.6400

   aws_lambda_function.hello_world
   ├─ Requests                                          100  1M requests  0.2000       0.0274       20.0000
   └─ Duration                                   25,000,000  GB-seconds    2e-05       0.5708      416.6675
   Total                                                                               0.5982      436.6675

-  OVERALL TOTAL (USD)                                                                 1.6244    1,185.8075
+  OVERALL TOTAL (USD)                                                                 1.6155    1,179.3075

:arrow_forward: To apply this plan, comment:

atlantis apply -d terraform-example-aws

:put_litter_in_its_place: To delete this plan click here
:repeat: To plan this project again, comment:

atlantis plan -d terraform-example-aws

:fast_forward: To apply all unapplied plans from this pull request, comment:

atlantis apply

:put_litter_in_its_place: To delete all plans and locks for the PR, comment:

atlantis unlock

atlantis plan -d terraform-example-aws

Ran Plan for dir: terraform-example-aws workspace: default
Show Output

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

Terraform will perform the following actions:

  # aws_instance.web_app will be created
+ resource "aws_instance" "web_app" {
      + ami                          = "ami-674cbc1e"
      + arn                          = (known after apply)
      + associate_public_ip_address  = (known after apply)
      + availability_zone            = (known after apply)
      + cpu_core_count               = (known after apply)
      + cpu_threads_per_core         = (known after apply)
      + get_password_data            = false
      + host_id                      = (known after apply)
      + id                           = (known after apply)
      + instance_state               = (known after apply)
      + instance_type                = "m5.4xlarge"
      + ipv6_address_count           = (known after apply)
      + ipv6_addresses               = (known after apply)
      + key_name                     = (known after apply)
      + outpost_arn                  = (known after apply)
      + password_data                = (known after apply)
      + placement_group              = (known after apply)
      + primary_network_interface_id = (known after apply)
      + private_dns                  = (known after apply)
      + private_ip                   = (known after apply)
      + public_dns                   = (known after apply)
      + public_ip                    = (known after apply)
      + secondary_private_ips        = (known after apply)
      + security_groups              = (known after apply)
      + source_dest_check            = true
      + subnet_id                    = (known after apply)
      + tenancy                      = (known after apply)
      + vpc_security_group_ids       = (known after apply)

      + ebs_block_device {
          + delete_on_termination = true
          + device_name           = "my_data"
          + encrypted             = (known after apply)
          + iops                  = 800
          + kms_key_id            = (known after apply)
          + snapshot_id           = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 1000
          + volume_type           = "io1"
        }

      + enclave_options {
          + enabled = (known after apply)
        }

      + ephemeral_block_device {
          + device_name  = (known after apply)
          + no_device    = (known after apply)
          + virtual_name = (known after apply)
        }

      + metadata_options {
          + http_endpoint               = (known after apply)