Skip to content

attributes with DynamicPseudoType are not obeying unknown and sensitive metadata when rendered #33056

@liamcervante

Description

@liamcervante

Terraform Version

1.4.*

Terraform Configuration Files

resource "kubernetes_manifest" "manifest" {
    manifest = {
        "apiVersion" = "v1"
        "kind" = "Secret"
        "metadata" = {
            "name" = "certificates"
            "namespace" = tfcoremock_simple_resource.resource.id
        }
        "data" = {
            "ca-certificates.crt" = sensitive("sensitive value")
        }
    }
}

Debug Output

n/a

Expected Behavior


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:

  # kubernetes_manifest.manifest will be created
  + resource "kubernetes_manifest" "manifest" {
      + manifest = {
          + apiVersion = "v1"
          + data       = {
              + "ca-certificates.crt" = (sensitive value)
            }
          + kind       = "Secret"
          + metadata   = {
              + name      = "certificates"
              + namespace = "certificates"
            }
        }
      + object   = {
          + apiVersion = "v1"
          + data       = {
              + "ca-certificates.crt" = "sensitive value"
            }
          + immutable  = (known after apply)
          + kind       = "Secret"
          + metadata   = {
              + annotations                = (known after apply)
              + creationTimestamp          = (known after apply)
              + deletionGracePeriodSeconds = (known after apply)
              + deletionTimestamp          = (known after apply)
              + finalizers                 = (known after apply)
              + generateName               = (known after apply)
              + generation                 = (known after apply)
              + labels                     = (known after apply)
              + managedFields              = (known after apply)
              + name                       = "certificates"
              + namespace                  = "certificates"
              + ownerReferences            = (known after apply)
              + resourceVersion            = (known after apply)
              + selfLink                   = (known after apply)
              + uid                        = (known after apply)
            }
          + stringData = (known after apply)
          + type       = (known after apply)
        }
    }

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

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't guarantee to take exactly these actions if you run "terraform apply" now.

Actual Behavior

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:

  # kubernetes_manifest.manifest will be created
  + resource "kubernetes_manifest" "manifest" {
      + manifest = {
          + apiVersion = "v1"
          + data       = {
              + "ca-certificates.crt" = "sensitive value"
            }
          + kind       = "Secret"
          + metadata   = {
              + name      = "certificates"
              + namespace = "certificates"
            }
        }
      + object   = {
          + apiVersion = "v1"
          + data       = {
              + "ca-certificates.crt" = "sensitive value"
            }
          + kind       = "Secret"
          + metadata   = {
              + name      = "certificates"
              + namespace = "certificates"
            }
        }
    }

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

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't guarantee to take exactly these actions
if you run "terraform apply" now.

Steps to Reproduce

terraform init
terraform apply

Additional Context

No response

References

hashicorp/terraform-provider-kubernetes#2073

Metadata

Metadata

Assignees

Labels

bugconfirmeda Terraform Core team member has reproduced this issue

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions