Skip to content

Improve base image tracking #398

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 16, 2025
Merged

Improve base image tracking #398

merged 2 commits into from
Jun 16, 2025

Conversation

dflook
Copy link
Owner

@dflook dflook commented Jun 16, 2025

  • Adds the exact debian image digest we used in the layer history.
  • Adds the base image manifest list digest as an annotation for both
    the base and release images.
  • Tags the base image used for a release with the release version number.

dflook added 2 commits June 16, 2025 17:02
- Adds the exact debian image digest we used in the layer history.
- Adds the base image manifest list digest as an annotation for both
the base and release images.
- Tags the base image used for a release with the release version number.
Copy link
Collaborator

@danielflooktech danielflooktech left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Triggering pull_request_review event...

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan for test-changes-only apply_when_plan_has_changed

Plan: 1 to add, 0 to change, 0 to destroy.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_string.the_string[0] will be created
+   resource "random_string" "the_string" {
+       id          = (known after apply)
+       length      = 5
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = true
+       upper       = true
    }

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

❌ Plan not applied in Test terraform-apply changes-only PR comment #642 (Plan has changed)

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan for test-changes-only change_then_no_changes

No changes. Your infrastructure matches the configuration.
No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.

✅ Plan applied in Test terraform-apply changes-only PR comment #642

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan for test-registry multiple_registry_module

Changes to Outputs.
Changes to Outputs:
+   word = "hello"

You can apply this plan to save these new output values to the Terraform
state, without changing any real infrastructure.

✅ Plan applied in Test actions using registry #617

Outputs
word = "hello"

Copy link

github-actions bot commented Jun 16, 2025

OpenTofu plan for test-exclude tofu_exclude_testing

Plan: 3 to add, 0 to change, 0 to destroy. Changes to Outputs.
OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

OpenTofu will perform the following actions:

  # random_string.count[0] will be created
+   resource "random_string" "count" {
+       id          = (known after apply)
+       length      = 5
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = false
+       upper       = true
    }

  # random_string.foreach["hello"] will be created
+   resource "random_string" "foreach" {
+       id          = (known after apply)
+       length      = 5
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = false
+       upper       = true
    }

  # random_string.keep_me will be created
+   resource "random_string" "keep_me" {
+       id          = (known after apply)
+       length      = 5
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = false
+       upper       = true
    }

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

Changes to Outputs:
+   count   = (known after apply)
+   foreach = (known after apply)
+   keep_me = (known after apply)

Warning: Resource targeting is in effect

You are creating a plan with either the -target option or the -exclude
option, which means that the result of this plan may not represent all of the
changes requested by the current configuration.

The -target and -exclude options are not for routine use, and are provided
only for exceptional situations such as recovering from errors or mistakes,
or when OpenTofu specifically suggests to use it as part of an error message.

✅ Plan applied in Test actions using target, replace, and exclude #8

Outputs
count   = "FIDpx"
foreach = "rhU3e"
keep_me = "AA83J"

Copy link

Terraform plan for test-target-replace remote_plan_targeting

No changes. Your infrastructure matches the configuration.
No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.
╷
│ Warning: Resource targeting is in effect
│ 
│ You are creating a plan with the -target option, which means that the
│ result of this plan may not represent all of the changes requested by the
│ current configuration.
│ 		
│ The -target option is not for routine use, and is provided only for
│ exceptional situations such as recovering from errors or mistakes, or when
│ Terraform specifically suggests to use it as part of an error message.
╵

📝 Plan generated in Test actions using target, replace, and exclude #8

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan in tests/workflows/test-refresh
♻️ Skipping refresh of resource state

Plan: 1 to add, 0 to change, 0 to destroy.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # local_file.one will be created
+   resource "local_file" "one" {
+       content              = "this is my first file"
+       content_base64sha256 = (known after apply)
+       content_base64sha512 = (known after apply)
+       content_md5          = (known after apply)
+       content_sha1         = (known after apply)
+       content_sha256       = (known after apply)
+       content_sha512       = (known after apply)
+       directory_permission = "0777"
+       file_permission      = "0777"
+       filename             = "test"
+       id                   = (known after apply)
    }

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

✅ Plan applied in Test terraform-refresh #59

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan in tests/workflows/test-target-replace-exclude in the base-tag workspace
Targeting resources: random_string.count[0]
With variables: length = 5

Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_string.count[0] will be created
+   resource "random_string" "count" {
+       id          = (known after apply)
+       length      = 5
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = false
+       upper       = true
    }

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

Changes to Outputs:
+   count = (known after apply)
╷
│ Warning: Resource targeting is in effect
│ 
│ You are creating a plan with the -target option, which means that the
│ result of this plan may not represent all of the changes requested by the
│ current configuration.
│ 		
│ The -target option is not for routine use, and is provided only for
│ exceptional situations such as recovering from errors or mistakes, or when
│ Terraform specifically suggests to use it as part of an error message.
╵

✅ Plan applied in Test actions using target, replace, and exclude #8

Outputs
count = "4XkP1"

Copy link

Terraform plan in tests/workflows/test-plan/no_changes

No changes. Your infrastructure matches the configuration.
No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.

📝 Plan generated in Test terraform-plan #773

Copy link

github-actions bot commented Jun 16, 2025

OpenTofu plan in tests/workflows/test-target-replace-exclude
Excluding resources: random_string.exclude_me
With variables: length = 8

Plan: 4 to add, 0 to change, 3 to destroy. Changes to Outputs.
OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create
-/+ destroy and then create replacement

OpenTofu will perform the following actions:

  # random_string.also_exclude will be created
+   resource "random_string" "also_exclude" {
+       id          = (known after apply)
+       length      = 8
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = false
+       upper       = true
    }

  # random_string.count[0] must be replaced
-/+ resource "random_string" "count" {
!~      id          = "*****" -> (known after apply)
!~      length      = 5 -> 8 # forces replacement
!~      result      = "*****" -> (known after apply)
#        (9 unchanged attributes hidden)
    }

  # random_string.foreach["hello"] must be replaced
-/+ resource "random_string" "foreach" {
!~      id          = "*****" -> (known after apply)
!~      length      = 5 -> 8 # forces replacement
!~      result      = "*****" -> (known after apply)
#        (9 unchanged attributes hidden)
    }

  # random_string.keep_me must be replaced
-/+ resource "random_string" "keep_me" {
!~      id          = "*****" -> (known after apply)
!~      length      = 5 -> 8 # forces replacement
!~      result      = "*****" -> (known after apply)
#        (9 unchanged attributes hidden)
    }

Plan: 4 to add, 0 to change, 3 to destroy.

Changes to Outputs:
+   also_exclude = (known after apply)
!~  count        = "FIDpx" -> (known after apply)
!~  foreach      = "rhU3e" -> (known after apply)
!~  keep_me      = "AA83J" -> (known after apply)

Warning: Resource targeting is in effect

You are creating a plan with either the -target option or the -exclude
option, which means that the result of this plan may not represent all of the
changes requested by the current configuration.

The -target and -exclude options are not for routine use, and are provided
only for exceptional situations such as recovering from errors or mistakes,
or when OpenTofu specifically suggests to use it as part of an error message.

✅ Plan applied in Test actions using target, replace, and exclude #8

Outputs
also_exclude = "FsLZR9xx"
count        = "k3hkIGR5"
foreach      = "46vSFoi4"
keep_me      = "9PvEbZOz"

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan for pull_request_review

Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_string.my_string will be created
+   resource "random_string" "my_string" {
+       id          = (known after apply)
+       length      = 11
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = true
+       upper       = true
    }

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

Changes to Outputs:
+   output_string = "the_string"

✅ Plan applied in Test pull_request_review event #650

Outputs
output_string = "the_string"

Copy link

Terraform plan for test-target-replace plan_targeting

No changes. Your infrastructure matches the configuration.
No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.

Warning: Resource targeting is in effect

You are creating a plan with the -target option, which means that the result
of this plan may not represent all of the changes requested by the current
configuration.

The -target option is not for routine use, and is provided only for
exceptional situations such as recovering from errors or mistakes, or when
Terraform specifically suggests to use it as part of an error message.

📝 Plan generated in Test actions using target, replace, and exclude #8

Copy link

Terraform plan for arm64

Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_string.my_string will be created
+   resource "random_string" "my_string" {
+       id          = (known after apply)
+       length      = 11
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = true
+       upper       = true
    }

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

Changes to Outputs:
+   s = "string"

📝 Plan generated in Test terraform-plan #773

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan in tests/workflows/test-target-replace-exclude
Targeting resources: random_string.count[0]
With variables: length = 5

Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_string.count[0] will be created
+   resource "random_string" "count" {
+       id          = (known after apply)
+       length      = 5
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = false
+       upper       = true
    }

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

Changes to Outputs:
+   count = (known after apply)

Warning: Resource targeting is in effect

You are creating a plan with the -target option, which means that the result
of this plan may not represent all of the changes requested by the current
configuration.

The -target option is not for routine use, and is provided only for
exceptional situations such as recovering from errors or mistakes, or when
Terraform specifically suggests to use it as part of an error message.

✅ Plan applied in Test actions using target, replace, and exclude #8

Outputs
count = "Hx5Bx"

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan in tests/workflows/test-target-replace-exclude
Targeting resources: random_string.foreach["hello"]
With variables: length = 6

Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_string.foreach["hello"] will be created
+   resource "random_string" "foreach" {
+       id          = (known after apply)
+       length      = 6
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = false
+       upper       = true
    }

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

Changes to Outputs:
+   foreach = (known after apply)

Warning: Resource targeting is in effect

You are creating a plan with the -target option, which means that the result
of this plan may not represent all of the changes requested by the current
configuration.

The -target option is not for routine use, and is provided only for
exceptional situations such as recovering from errors or mistakes, or when
Terraform specifically suggests to use it as part of an error message.

✅ Plan applied in Test actions using target, replace, and exclude #8

Outputs
count   = "Hx5Bx"
foreach = "MSHmv9"

Copy link

Terraform plan for repository_dispatch

Plan: 1 to add, 0 to change, 0 to destroy.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_password.p will be created
+   resource "random_password" "p" {
+       bcrypt_hash = (sensitive value)
+       id          = (known after apply)
+       length      = 5
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (sensitive value)
+       special     = true
+       upper       = true
    }

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

📝 Plan generated in Repository Dispatch #206

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan in tests/workflows/test-target-replace-exclude
Targeting resources: random_string.foreach["hello"]
Replacing resources: random_string.foreach["hello"], random_string.count[0]
With variables: length = 10

Plan: 1 to add, 0 to change, 1 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
-/+ destroy and then create replacement

Terraform will perform the following actions:

  # random_string.foreach["hello"] will be replaced, as requested
-/+ resource "random_string" "foreach" {
!~      id          = "**********" -> (known after apply)
!~      result      = "**********" -> (known after apply)
#        (10 unchanged attributes hidden)
    }

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

Changes to Outputs:
!~  foreach = "3AhzSplmoG" -> (known after apply)

Warning: Resource targeting is in effect

You are creating a plan with the -target option, which means that the result
of this plan may not represent all of the changes requested by the current
configuration.

The -target option is not for routine use, and is provided only for
exceptional situations such as recovering from errors or mistakes, or when
Terraform specifically suggests to use it as part of an error message.

✅ Plan applied in Test actions using target, replace, and exclude #8

Outputs
count   = "n3zeqDdrB6"
foreach = "jFUwdktQ9I"

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan in tests/workflows/test-target-replace-exclude in the base-tag workspace
Targeting resources: random_string.foreach["hello"]
With variables: length = 6

Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_string.foreach["hello"] will be created
+   resource "random_string" "foreach" {
+       id          = (known after apply)
+       length      = 6
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = false
+       upper       = true
    }

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

Changes to Outputs:
+   foreach = (known after apply)
╷
│ Warning: Resource targeting is in effect
│ 
│ You are creating a plan with the -target option, which means that the
│ result of this plan may not represent all of the changes requested by the
│ current configuration.
│ 		
│ The -target option is not for routine use, and is provided only for
│ exceptional situations such as recovering from errors or mistakes, or when
│ Terraform specifically suggests to use it as part of an error message.
╵

✅ Plan applied in Test actions using target, replace, and exclude #8

Outputs
count   = "4XkP1"
foreach = "92GuLG"

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan for test-binary-plan plan_changed

Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_string.my_string will be created
+   resource "random_string" "my_string" {
+       id          = (known after apply)
+       length      = 11
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = true
+       upper       = true
    }

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

Changes to Outputs:
+   output_string = "the_string"

❌ Plan not applied in Test terraform-plan using binary plan #127 (Plan has changed)

Copy link

Terraform plan in tests/workflows/test-plan/plan_12

Plan: 1 to add, 0 to change, 0 to destroy.
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:

  # random_string.my_string will be created
+   resource "random_string" "my_string" {
+       id          = (known after apply)
+       length      = 11
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = true
+       upper       = true
    }

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

📝 Plan generated in Test terraform-plan #773

Copy link

github-actions bot commented Jun 16, 2025

OpenTofu plan in tests/workflows/test-early-eval/s3
With variables: passphrase = (sensitive value)

No changes. Your infrastructure matches the configuration.
No changes. Your infrastructure matches the configuration.

OpenTofu has compared your real infrastructure against your configuration and
found no differences, so no changes are needed.

✅ Plan applied in Test OpenTofu early eval #58

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan in tests/workflows/test-target-replace-exclude
Replacing resources: random_string.foreach["hello"], random_string.count[0]
With variables: length = 10

Plan: 5 to add, 0 to change, 2 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create
-/+ destroy and then create replacement

Terraform will perform the following actions:

  # random_string.also_exclude will be created
+   resource "random_string" "also_exclude" {
+       id          = (known after apply)
+       length      = 10
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = false
+       upper       = true
    }

  # random_string.count[0] will be replaced, as requested
-/+ resource "random_string" "count" {
!~      id          = "**********" -> (known after apply)
!~      result      = "**********" -> (known after apply)
#        (10 unchanged attributes hidden)
    }

  # random_string.exclude_me will be created
+   resource "random_string" "exclude_me" {
+       id          = (known after apply)
+       length      = 10
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = false
+       upper       = true
    }

  # random_string.foreach["hello"] will be replaced, as requested
-/+ resource "random_string" "foreach" {
!~      id          = "**********" -> (known after apply)
!~      result      = "**********" -> (known after apply)
#        (10 unchanged attributes hidden)
    }

  # random_string.keep_me will be created
+   resource "random_string" "keep_me" {
+       id          = (known after apply)
+       length      = 10
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = false
+       upper       = true
    }

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

Changes to Outputs:
+   also_exclude = (known after apply)
!~  count        = "n3zeqDdrB6" -> (known after apply)
+   exclude_me   = (known after apply)
!~  foreach      = "jFUwdktQ9I" -> (known after apply)
+   keep_me      = (known after apply)

✅ Plan applied in Test actions using target, replace, and exclude #8

Outputs
also_exclude = "T7bgbqCEx5"
count        = "3gNEyJmwLv"
exclude_me   = "1vuvz00ZMZ"
foreach      = "rsIqmYjUou"
keep_me      = "EsTtS3YXtk"

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan for test-registry registry_module

Changes to Outputs.
Changes to Outputs:
+   word = "hello"

You can apply this plan to save these new output values to the Terraform
state, without changing any real infrastructure.

✅ Plan applied in Test actions using registry #617

Outputs
word = "hello"

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan for test-ssh ssh_key

Changes to Outputs.
Changes to Outputs:
+   word = "hello"

You can apply this plan to save these new output values to the Terraform
state, without changing any real infrastructure.

✅ Plan applied in Test actions using SSH Keys #668

Outputs
word = "hello"

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan for test-binary-plan apply

Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_string.my_string will be created
+   resource "random_string" "my_string" {
+       id          = (known after apply)
+       length      = 11
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = true
+       upper       = true
    }

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

Changes to Outputs:
+   output_string = "the_string"

✅ Plan applied in Test terraform-plan using binary plan #127

Outputs
output_string = "the_string"

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan for test-apply apply_apply_error

Plan: 1 to add, 0 to change, 0 to destroy.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # aws_s3_bucket.my_bucket will be created
+   resource "aws_s3_bucket" "my_bucket" {
+       acceleration_status         = (known after apply)
+       acl                         = (known after apply)
+       arn                         = (known after apply)
+       bucket                      = "hello"
+       bucket_domain_name          = (known after apply)
+       bucket_prefix               = (known after apply)
+       bucket_regional_domain_name = (known after apply)
+       force_destroy               = false
+       hosted_zone_id              = (known after apply)
+       id                          = (known after apply)
+       object_lock_enabled         = (known after apply)
+       policy                      = (known after apply)
+       region                      = (known after apply)
+       request_payer               = (known after apply)
+       tags_all                    = (known after apply)
+       website_domain              = (known after apply)
+       website_endpoint            = (known after apply)

+       cors_rule (known after apply)

+       grant (known after apply)

+       lifecycle_rule (known after apply)

+       logging (known after apply)

+       object_lock_configuration (known after apply)

+       replication_configuration (known after apply)

+       server_side_encryption_configuration (known after apply)

+       versioning (known after apply)

+       website (known after apply)
    }

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

❌ Error applying plan in Test terraform-apply #765

Copy link

Terraform plan in tests/workflows/test-plan/plan_11

Plan: 1 to add, 0 to change, 0 to destroy.
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:

+ random_string.my_string
      id:          <computed>
      length:      "11"
      lower:       "true"
      min_lower:   "0"
      min_numeric: "0"
      min_special: "0"
      min_upper:   "0"
      number:      "true"
      result:      <computed>
      special:     "true"
      upper:       "true"
Plan: 1 to add, 0 to change, 0 to destroy.

📝 Plan generated in Test terraform-plan #773

Copy link

Terraform plan in tests/workflows/test-plan/sensitive_variables

With variables

complex             = [
    {
        animals  = [
            "dog",
            "cat",
        ]
        external = 8300
        internal = 8300
        protocol = "tcp"
    },
]
complex_sensitive   = (sensitive value)
my_float            = 3.14
my_int              = 23
my_sensitive_string = (sensitive value)
my_string           = "hello"
No changes. Your infrastructure matches the configuration.
No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.

📝 Plan generated in Test terraform-plan #773

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan for test-apply backend_config_12 backend_config

No changes. Infrastructure is up-to-date.
No changes. Infrastructure is up-to-date.

This means that Terraform did not detect any differences between your
configuration and real physical resources that exist. As a result, no
actions need to be performed.

✅ Plan applied in Test terraform-apply #765

Outputs
test = "hello"

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan for test-apply apply_terraform_actions_github_token

Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_string.my_string will be created
+   resource "random_string" "my_string" {
+       id          = (known after apply)
+       length      = 11
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = true
+       upper       = true
    }

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

Changes to Outputs:
+   output_string = "the_string"

✅ Plan applied in Test terraform-apply #765

Outputs
output_string = "the_string"

Copy link

Terraform plan in tests/workflows/test-plan/plan_15_4

Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_string.my_string will be created
+   resource "random_string" "my_string" {
+       id          = (known after apply)
+       length      = 11
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = true
+       upper       = true
    }

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

Changes to Outputs:
+   s = "string"

📝 Plan generated in Test terraform-plan #773

Copy link

Terraform plan in tests/workflows/test-apply/partial_backend
With backend config: key=156861781771
With backend config files: tests/workflows/test-apply/partial_backend/backend_config

No changes. Infrastructure is up-to-date.
No changes. Infrastructure is up-to-date.

This means that Terraform did not detect any differences between your
configuration and real physical resources that exist. As a result, no
actions need to be performed.

📝 Plan generated in Test terraform-apply #765

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan in tests/workflows/test-plan/plan

Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_string.my_string will be created
+   resource "random_string" "my_string" {
+       id          = (known after apply)
+       length      = 11
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = true
+       upper       = true
    }

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

Changes to Outputs:
+   s = "string"

✅ Plan applied in Test terraform-plan #773

Outputs
s = "string"

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan for test-apply destroy_mode_label
💣 Planning to destroy all resources

Plan: 0 to add, 0 to change, 1 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
-   destroy

Terraform will perform the following actions:

  # random_string.my_string will be destroyed
-   resource "random_string" "my_string" {
-       id          = "3?t}!TEEA}Q" -> null
-       length      = 11 -> null
-       lower       = true -> null
-       min_lower   = 0 -> null
-       min_numeric = 0 -> null
-       min_special = 0 -> null
-       min_upper   = 0 -> null
-       number      = true -> null
-       numeric     = true -> null
-       result      = "3?t}!TEEA}Q" -> null
-       special     = true -> null
-       upper       = true -> null
    }

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

Changes to Outputs:
-   output_string = "the_string" -> null

✅ Plan applied in Test terraform-apply #765

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan for test-apply apply_with_pre_run

Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_string.my_string will be created
+   resource "random_string" "my_string" {
+       id          = (known after apply)
+       length      = 11
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = true
+       upper       = true
    }

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

Changes to Outputs:
+   output_string = "the_string"

✅ Plan applied in Test terraform-apply #765

Outputs
output_string = "the_string"

@dflook
Copy link
Owner Author

dflook commented Jun 16, 2025

Terraform plan for test-apply apply_user_token

Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_string.my_string will be created
+   resource "random_string" "my_string" {
+       id          = (known after apply)
+       length      = 11
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = true
+       upper       = true
    }

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

Changes to Outputs:
+   output_string = "the_string"

✅ Plan applied in Test terraform-apply #765

Outputs
output_string = "the_string"

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan in tests/workflows/test-apply/outputs

Changes to Outputs.
Changes to Outputs:
+   not_sensitive         = "This is not a sensistive value"
+   not_sensitive_complex = [
+       {
+           hello = "world"
        },
+       {
+           hello = "again"
        },
    ]
+   sensitive             = (sensitive value)
+   sensitive_map         = (sensitive value)

You can apply this plan to save these new output values to the Terraform
state, without changing any real infrastructure.

✅ Plan applied in Test terraform-apply #765

Outputs
not_sensitive         = "This is not a sensistive value"
not_sensitive_complex = [
    {
        hello = "world"
    },
    {
        hello = "again"
    },
]
sensitive             = (sensitive value)
sensitive_map         = (sensitive value)

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan in tests/workflows/test-apply/long_outputs

Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_string.s will be created
+   resource "random_string" "s" {
+       id          = (known after apply)
+       length      = 200
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = false
+       upper       = true
    }

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

Changes to Outputs:
+   output  = <<-EOT
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
        This is my long string.
    EOT
+   unknown = (known after apply)

✅ Plan applied in Test terraform-apply #765

Outputs
output  = <<-EOT
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
    This is my long string.
EOT
unknown = <<-EOT
    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
Outputs are too large to fit in a PR comment. See the full outputs in the workflow log.

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan for test-apply ephemeral

Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_string.add will be created
+   resource "random_string" "add" {
+       id          = (known after apply)
+       length      = 5
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = true
+       upper       = true
    }

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

Changes to Outputs:
+   v = "non-ephemeral"

✅ Plan applied in Test terraform-apply #765

Outputs
v = "non-ephemeral"

Copy link

Terraform plan in tests/workflows/test-plan/plan_13

Plan: 1 to add, 0 to change, 0 to destroy.
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:

  # random_string.my_string will be created
+   resource "random_string" "my_string" {
+       id          = (known after apply)
+       length      = 11
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = true
+       upper       = true
    }

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

📝 Plan generated in Test terraform-plan #773

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan for test-cloud cloud save-plan-changes

Plan: 1 to add, 0 to change, 1 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
-/+ destroy and then create replacement

Terraform will perform the following actions:

  # random_id.the_id must be replaced
-/+ resource "random_id" "the_id" {
!~      b64_std     = "********" -> (known after apply)
!~      b64_url     = "*******" -> (known after apply)
!~      byte_length = 5 -> 8 # forces replacement
!~      dec         = "***********" -> (known after apply)
!~      hex         = "**********" -> (known after apply)
!~      id          = "*******" -> (known after apply)
    }

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

Changes to Outputs:
!~  id  = "**********" -> (known after apply)
!~  len = 5 -> 8

✅ Plan applied in Test Terraform cloud #347

Outputs
id  = "57996bdf565d1bb8"
len = 8

Copy link

Terraform plan in tests/workflows/test-plan/error

Error: Incorrect attribute value type
Error: Incorrect attribute value type

  on main.tf line 2, in resource "random_string" "my_string":
   2:   length      = "ten"

Inappropriate value for attribute "length": a number is required.

❌ Failed to generate plan in Test terraform-plan #773

Copy link

Terraform plan for test-plan default_path

Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_string.my_string will be created
+   resource "random_string" "my_string" {
+       id          = (known after apply)
+       length      = 11
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = true
+       upper       = true
    }

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

Changes to Outputs:
+   s = "string"

📝 Plan generated in Test terraform-plan #773

This comment has been minimized.

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan in tests/workflows/test-cloud/0.13 in the base-tag-2 workspace
With var files: tests/workflows/test-cloud/0.13/my_variable.tfvars
With variables: from_variables = "from_variables"

Plan: 1 to add, 0 to change, 0 to destroy.
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:

  # random_id.the_id will be created
+   resource "random_id" "the_id" {
+       b64_std     = (known after apply)
+       b64_url     = (known after apply)
+       byte_length = 5
+       dec         = (known after apply)
+       hex         = (known after apply)
+       id          = (known after apply)
    }

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

✅ Plan applied in Test Terraform cloud #347

Outputs
default        = "default"
from_tfvars    = "from_tfvars"
from_variables = "from_variables"

Copy link

Terraform plan for test-plan test_plan_1_4

No changes. Your infrastructure matches the configuration.
No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.

📝 Plan generated in Test terraform-plan #773

Copy link

Terraform plan in tests/workflows/test-plan/plan_14

Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs.
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:

  # random_string.my_string will be created
+   resource "random_string" "my_string" {
+       id          = (known after apply)
+       length      = 11
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = true
+       upper       = true
    }

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

Changes to Outputs:
+   s = "string"

📝 Plan generated in Test terraform-plan #773

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan for test-apply ephemeral 2

Changes to Outputs.
Changes to Outputs:
!~  v = "non-ephemeral" -> "hello"

You can apply this plan to save these new output values to the Terraform
state, without changing any real infrastructure.

✅ Plan applied in Test terraform-apply #765

Outputs
v = "hello"

Copy link

Terraform plan for always-new SHOULD BE OUTDATED

Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_string.my_string will be created
+   resource "random_string" "my_string" {
+       id          = (known after apply)
+       length      = 11
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = true
+       upper       = true
    }

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

Changes to Outputs:
+   s = "string"

📝 Plan generated in Test terraform-plan #773

This comment has been minimized.

Copy link

Terraform plan in tests/workflows/test-plan/always-new

Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_string.my_string will be created
+   resource "random_string" "my_string" {
+       id          = (known after apply)
+       length      = 11
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = true
+       upper       = true
    }

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

Changes to Outputs:
+   s = "string"

📝 Plan generated in Test terraform-plan #773

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan in tests/workflows/test-cloud/1.0 in the base-tag-2 workspace
With var files: tests/workflows/test-cloud/1.0/my_variable.tfvars
With variables: from_variables = "from_variables"

Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create

Terraform will perform the following actions:

  # random_id.the_id will be created
+   resource "random_id" "the_id" {
+       b64_std     = (known after apply)
+       b64_url     = (known after apply)
+       byte_length = 5
+       dec         = (known after apply)
+       hex         = (known after apply)
+       id          = (known after apply)
    }

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

Changes to Outputs:
+   default        = "default"
+   from_tfvars    = "from_tfvars"
+   from_variables = "from_variables"

✅ Plan applied in Test Terraform cloud #347

Outputs
default        = "default"
from_tfvars    = "from_tfvars"
from_variables = "from_variables"

Copy link

Terraform plan for test-plan colours

Plan: 3 to add, 1 to change, 3 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create
!~  update in-place
-   destroy
-/+ destroy and then create replacement
+/- create replacement and then destroy

Terraform will perform the following actions:

  # aws_s3_object.update will be updated in-place
!~  resource "aws_s3_object" "update" {
!~      content                = "hello" -> "update"
        id                     = "test-plan-colours-test-object"
        tags                   = {}
+       version_id             = (known after apply)
#        (11 unchanged attributes hidden)
    }

  # random_string.add[0] will be created
+   resource "random_string" "add" {
+       id          = (known after apply)
+       length      = 3
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = true
+       upper       = true
    }

  # random_string.create_before_delete must be replaced
+/- resource "random_string" "create_before_delete" {
!~      id          = "****" -> (known after apply)
!~      length      = 4 -> 3 # forces replacement
!~      result      = "****" -> (known after apply)
#        (9 unchanged attributes hidden)
    }

  # random_string.delete[0] will be destroyed
  # (because index [0] is out of range for count)
-   resource "random_string" "delete" {
-       id          = "02g" -> null
-       length      = 3 -> null
-       lower       = true -> null
-       min_lower   = 0 -> null
-       min_numeric = 0 -> null
-       min_special = 0 -> null
-       min_upper   = 0 -> null
-       number      = true -> null
-       numeric     = true -> null
-       result      = "02g" -> null
-       special     = true -> null
-       upper       = true -> null
    }

  # random_string.delete_before_create must be replaced
-/+ resource "random_string" "delete_before_create" {
!~      id          = "***" -> (known after apply)
!~      length      = 3 -> 4 # forces replacement
!~      result      = "***" -> (known after apply)
#        (9 unchanged attributes hidden)
    }

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

Changes to Outputs:
+   add    = "hello"
-   delete = "goodbye" -> null
!~  update = "hello" -> "update"

📝 Plan generated in Test terraform-plan #773

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan for test-apply ephemeral 3

Changes to Outputs.
Changes to Outputs:
!~  v = "hello" -> "goodbye"

You can apply this plan to save these new output values to the Terraform
state, without changing any real infrastructure.

❌ Plan not applied in Test terraform-apply #765 (Plan has changed)

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan for test-cloud cloud save-plan-no-changes

No changes. Your infrastructure matches the configuration.
No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.

✅ No changes to apply in Test Terraform cloud #347

Outputs
id  = "57996bdf565d1bb8"
len = 8

Copy link

github-actions bot commented Jun 16, 2025

Terraform plan in tests/workflows/test-target-replace-exclude in the base-tag workspace
Replacing resources: random_string.foreach["hello"], random_string.count[0]
With variables: length = 10

Plan: 5 to add, 0 to change, 2 to destroy. Changes to Outputs.
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create
-/+ destroy and then create replacement

Terraform will perform the following actions:

  # random_string.also_exclude will be created
+   resource "random_string" "also_exclude" {
+       id          = (known after apply)
+       length      = 10
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = false
+       upper       = true
    }

  # random_string.count[0] will be replaced, as requested
-/+ resource "random_string" "count" {
!~      id          = "**********" -> (known after apply)
!~      result      = "**********" -> (known after apply)
#        (10 unchanged attributes hidden)
    }

  # random_string.exclude_me will be created
+   resource "random_string" "exclude_me" {
+       id          = (known after apply)
+       length      = 10
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = false
+       upper       = true
    }

  # random_string.foreach["hello"] will be replaced, as requested
-/+ resource "random_string" "foreach" {
!~      id          = "**********" -> (known after apply)
!~      result      = "**********" -> (known after apply)
#        (10 unchanged attributes hidden)
    }

  # random_string.keep_me will be created
+   resource "random_string" "keep_me" {
+       id          = (known after apply)
+       length      = 10
+       lower       = true
+       min_lower   = 0
+       min_numeric = 0
+       min_special = 0
+       min_upper   = 0
+       number      = true
+       numeric     = true
+       result      = (known after apply)
+       special     = false
+       upper       = true
    }

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

Changes to Outputs:
+   also_exclude = (known after apply)
!~  count        = "n42BYz8HOx" -> (known after apply)
+   exclude_me   = (known after apply)
!~  foreach      = "M6V9zLqp3J" -> (known after apply)
+   keep_me      = (known after apply)

✅ Plan applied in Test actions using target, replace, and exclude #8

Outputs
also_exclude = "A2H7cOs0YJ"
count        = "RUcClJQfdk"
exclude_me   = "YhBre4tpUP"
foreach      = "uZMObUEB8F"
keep_me      = "6akObGmtBt"

@dflook dflook merged commit 403978d into main Jun 16, 2025
135 checks passed
@dflook dflook deleted the base-tag branch June 16, 2025 16:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants