github.com/terraform-linters/tflint@v0.51.2-0.20240520175844-3750771571b6/integrationtest/inspection/dynblock-unknown/main.tf (about)

     1  variable "unknown_set" {
     2    type = set(bool)
     3  }
     4  
     5  variable "unknown_bool" {
     6    type = bool
     7  }
     8  
     9  resource "aws_s3_bucket" "main" {
    10    lifecycle_rule {
    11      enabled = true
    12    }
    13  
    14    dynamic "lifecycle_rule" {
    15      for_each = var.unknown_set
    16  
    17      content {
    18        enabled = lifecycle_rule.value
    19      }
    20    }
    21  
    22    dynamic "lifecycle_rule" {
    23      for_each = toset([var.unknown_bool])
    24  
    25      content {
    26        enabled = lifecycle_rule.value
    27      }
    28    }
    29  }
    30  
    31  resource "aws_iam_role" "main" {
    32    inline_policy {
    33      name = "static"
    34    }
    35  
    36    dynamic "inline_policy" {
    37      for_each = toset(["foo", "bar"])
    38  
    39      content {
    40        name = inline_policy.value
    41      }
    42    }
    43  
    44    dynamic "inline_policy" {
    45      for_each = var.unknown_set
    46  
    47      content {
    48        name = inline_policy.value
    49      }
    50    }
    51  }
    52  
    53  resource "testing_assertions" "main" {
    54    equal "static" {}
    55  
    56    dynamic "equal" {
    57      for_each = toset(["known_label"])
    58      iterator = it
    59      labels   = [it.value]
    60      content {}
    61    }
    62  
    63    dynamic "equal" {
    64      for_each = toset(["unknown_label"])
    65      iterator = it
    66      labels   = ["${it.value}-${var.unknown_bool}"]
    67      content {}
    68    }
    69  }