Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 如何通过Terraform在Google Cloud secret Manager中创建秘密?_Google Cloud Platform_Terraform_Google Secret Manager_Secret Manager - Fatal编程技术网

Google cloud platform 如何通过Terraform在Google Cloud secret Manager中创建秘密?

Google cloud platform 如何通过Terraform在Google Cloud secret Manager中创建秘密?,google-cloud-platform,terraform,google-secret-manager,secret-manager,Google Cloud Platform,Terraform,Google Secret Manager,Secret Manager,这是官方网页: 我创建了以下文件: 变量.tf variable gcp_project { type = string } main.tf resource "google_secret_manager_secret" "my_password" { provider = google-beta secret_id = "my-password" replication { automatic = tru

这是官方网页:

我创建了以下文件:

变量.tf

variable gcp_project {
  type = string
}
main.tf

resource "google_secret_manager_secret" "my_password" {
  provider = google-beta

  secret_id = "my-password"

  replication {
    automatic = true
  }
}

data "google_secret_manager_secret_version" "my_password_v1" {
  provider = google-beta
  project  = var.gcp_project
  secret   = google_secret_manager_secret.my_password.secret_id
  version  = 1
}
产出.tf

output my_password_version {
  value = data.google_secret_manager_secret_version.my_password_v1.version
}
应用时,出现错误:

Error: Error retrieving available secret manager secret versions: googleapi: Error 404: Secret Version [projects/2381824501/secrets/my-password/versions/1] not found.
因此,我通过gcloud cli创建了这个秘密:

echo -n "my_secret_password" | gcloud secrets create "my-password" \
    --data-file - \
    --replication-policy "automatic"
然后再次应用terraform,它说
错误:项目:必填字段未设置


如果使用TrRAFrm创建一个具有实际值的秘密,该怎么办?

< p>我发现下面的文章我认为在

上有用。 你必须:

  • 创建设置
  • 创建一个名为
    versions.tf
    的文件,用于定义版本约束
  • 创建名为
    main.tf的文件并配置Google provider节:
  • 这是使用自动复制策略创建名为“我的机密”的机密管理器机密的代码:

    resource "google_secret_manager_secret" "my-secret" {
      provider = google-beta
    
      secret_id = "my-secret"
    
      replication {
        automatic = true
      }
    
      depends_on = [google_project_service.secretmanager]
    }
    

    您是否正确设置了变量gcp\U项目?您的问题中没有显示它是什么。是的,这个变量不重要。您是否在全局提供程序块中设置了项目?@RyanSiu是的,我设置了。您使用的是数据源。您需要使用该资源。使用此方法如何从其他模块的输出中导出其值?请仔细阅读Seth Vargo文章的安全说明。