我想创建一个awsrds示例,然后用terraform管理db用户。因此,首先,我创建了一个rds示例,然后用创建的rds示例初始化mysql提供程序,以便进一步使用它进行用户管理。但是mysql提供者在计划阶段使用默认端点(127.0.0.1)进行连接。下面是我的代码
resource "aws_rds_cluster" "default" {
name = "${var.name}"
master_username = "${var.master_username}"
master_password = "${random_string.password.result}"
.
.
.
}
provider "mysql" {
endpoint = "${aws_rds_cluster.default.endpoint}"
username = "${aws_rds_cluster.default.master_username}"
password = "${random_string.password.result}"
}
1条答案
按热度按时间ztigrdn81#
根据terraform的当前实现,要初始化mysql提供者,mysql必须首先存在。这就是为什么它会失败,因为在计划阶段,您的rds示例不存在。已经有一个悬而未决的问题了(https://github.com/hashicorp/terraform/issues/18720)在terraform github repo上。因此,要管理它,首先要创建rds示例,然后使用该示例的凭据初始化mysql提供程序