gpt4 book ai didi

terraform - 如何仅在配置 AWS RDS 实例后创建用户和数据库?

转载 作者:行者123 更新时间:2023-12-04 11:50:42 38 4
gpt4 key购买 nike

关于如何在创建数据库或用户之前等待配置 AWS RDS 数据库主机的任何建议?为了实现这一点,我尝试使用depends_on 参数,以便它等待首先配置RDS 数据库。似乎提供者不能等待资源。

运行此程序时出现以下错误:

提供程序参数名称“depends_on”保留供 Terraform 在 future 版本中使用。

--- Terraform 计划片段 ----

# Provision AWS PostgreSQL Dev Database
resource "aws_db_instance" "dev_db" {
identifier = "dev"
allocated_storage = 100
storage_type = "gp2"
engine = "postgres"
engine_version = "10.9"
port = 1433
instance_class = "db.t3.medium"
name = "dev"
username = "dev"
password = "mydevpassword"
parameter_group_name = "postgress10"
tags = {
Name = "dev"
}
skip_final_snapshot = true
}
# Setup PostgreSQL Provider After RDS Database is Provisioned
provider "postgresql" {
host = "${aws_db_instance.dev_db.address}"
port = 1433
username = "dev"
password = "mydevpassword"
depends_on = [aws_db_instance.dev_db]
}
# Create App User
resource "postgresql_role" "application_role" {
name = "dev_appuser"
login = true
password = "myappuserpassword"
encrypted_password = true
depends_on = [aws_db_instance.dev_db]
}
# Create Database
resource "postgresql_database" "dev_db" {
name = "mydatabase1"
owner = "dev"
template = "template0"
lc_collate = "C"
connection_limit = -1
allow_connections = true
depends_on = [aws_db_instance.dev_db]
}

最佳答案

我在 GitHub Issue 的 postgres 提供程序存储库中询问了这个问题。 ,并且维护人员能够为此提供解决方法 - 如果您指定 expected_version在提供者配置中,它不会尝试连接,直到资源实际使用连接。

这意味着可以使用资源的依赖行为来阻止连接,直到 Terraform 完成 RDS 资源的设置。这似乎适用于 plan案例和apply案件。

关于terraform - 如何仅在配置 AWS RDS 实例后创建用户和数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57716497/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com