首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Terraform生命周期“变量可能不在这里使用”

Terraform生命周期“变量可能不在这里使用”
EN

Stack Overflow用户
提问于 2022-10-05 12:11:41
回答 1查看 175关注 0票数 0

当我试图运行"Terraform init“时,我会出错,我在这里缺少了什么?

代码语言:javascript
复制
│ Error: Variables not allowed
│ 
│   on ../../resources/s3-bucket/main.tf line 12, in resource "aws_s3_bucket" "s3-bucket":
│   12:     prevent_destroy = var.prevent_destroy
│ 
│ Variables may not be used here.
╵

╷
│ Error: Unsuitable value type
│ 
│   on ../../resources/s3-bucket/main.tf line 12, in resource "aws_s3_bucket" "s3-bucket":
│   12:     prevent_destroy = var.prevent_destroy
│ 
│ Unsuitable value: value must be known

资源:

代码语言:javascript
复制
    resource "aws_s3_bucket" "s3-bucket" {
      bucket                  = var.bucket_name
      tags = {
        Name        = var.tags_name
        Environment = var.tags_environment
      }
      versioning { enabled = var.versioning }
      lifecycle {
        prevent_destroy = var.prevent_destroy
      }
      server_side_encryption_configuration {
        rule {
          apply_server_side_encryption_by_default {
            sse_algorithm = var.encryption_algorithm
          }
        }
      }
    }

Var:

代码语言:javascript
复制
    variable "prevent_destroy" {
        type = bool
        description = "Turn on or off lifecycle"
    }

模块:

代码语言:javascript
复制
    module "s3-bucket" {
        source                  = "../../resources/s3-bucket"
        region                  = var.region
        access_key              = var.access_key
        secret_key              = var.secret_key
        bucket_name             = var.bucket_name
        tags_name               = var.tags_name
        tags_environment        = var.tags_environment
        versioning              = var.versioning
        prevent_destroy         = var.prevent_destroy
        encryption_algorithm    = var.encryption_algorithm
    }

TFVARS:

代码语言:javascript
复制
    prevent_destroy     = false
EN

回答 1

Stack Overflow用户

发布于 2022-10-05 12:19:46

不能在lifecycle块1中使用变量

-- lifecycle设置都会影响Terraform构造和遍历依赖关系图的方式。因此,只能使用文字值,因为对于任意表达式的计算,处理发生得太早。

1

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73960148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档