我可以在Terraform中创建一个Redshift集群并添加一个额外的用户吗



我正在尝试将地形设置为可以拥有集群参数阵列的位置,然后在红移模块中执行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
}

但是,除了管理用户之外,我还想为每个集群添加一个额外的用户。我正在努力寻找一种在地形中做到这一点的方法。任何建议都将不胜感激!谢谢

有两种方法可以做到这一点:

  1. 可以尝试使用TF Redshift Provider,它允许您创建redshift_user
  2. 使用本地exec调用JDBC、Python或ODBC工具,这些工具将使用SQL命令创建用户

相关内容

最新更新