我正在尝试将地形设置为可以拥有集群参数阵列的位置,然后在红移模块中执行for_each以创建它们,如下所示:
for_each = local.env[var.tier][var.region].clusters
source = "terraform-aws-modules/redshift/aws"
cluster_identifier = "${each.value.name}"
allow_version_upgrade = true
node_type = "dc2.large"
number_of_nodes = 2
database_name = "${each.value.database}"
master_username = "${each.value.admin_user}"
create_random_password = false
master_password = "${each.value.admin_password}"
encrypted = true
kms_key_arn = xxxxx
enhanced_vpc_routing = false
vpc_security_group_ids = xxxxxx
subnet_ids = xxxxxx
publicly_accessible = true
iam_role_arns = xxxxxx
# Parameter group
parameter_group_name = xxxxxx
# Subnet group
create_subnet_group = false
subnet_group_name = xxxxxx
# Maintenance
preferred_maintenance_window = "sat:01:00-sat:01:30"
# Backup Details
automated_snapshot_retention_period = 30
manual_snapshot_retention_period = -1
}
但是,除了管理用户之外,我还想为每个集群添加一个额外的用户。我正在努力寻找一种在地形中做到这一点的方法。任何建议都将不胜感激!谢谢
有两种方法可以做到这一点:
- 可以尝试使用TF Redshift Provider,它允许您创建
redshift_user
- 使用本地exec调用JDBC、Python或ODBC工具,这些工具将使用SQL命令创建用户