confluentinc / terraform-provider-confluent

Terraform Provider for Confluent
Apache License 2.0
28 stars 64 forks source link

confluent_role_binding to accept a list of principal users #186

Open HSA72 opened 1 year ago

HSA72 commented 1 year ago

Can you implement confluent_role_binding to accept a list of principal users?

We have several teams, and today we have to repeat the resource confluent_role_binding for each principal user. It is a lot of code duplication. It could be nice and cleaner code if we only could add all the principals as a list:

E.g.

resource "confluent_role_binding" "role-binding-team-sales-dk-DeveloperRead-o-gfdk-webshop-fct-proposal-purchased-r-0" {
  principal   = "User:${local.ua-lukasz-luzny},${local.ua-mikolaj-kieler},${local.ua-joakim-b-hansen}"
  role_name   = "DeveloperRead"
  crn_pattern = "${data.confluent_kafka_cluster.test_kafka_cluster_1.rbac_crn}/kafka=${data.confluent_kafka_cluster.test_kafka_cluster_1.id}/topic=o.gfdk.webshop.fct.proposal-purchased.r.0"
}

Henrik

esquare666 commented 1 year ago

I am using the below resource "confluent_role_binding" "rb_nonprod_topics_readonly" { for_each = toset(var.nonprod_readonly) principal = "User:${each.value}" role_name = "DeveloperRead" crn_pattern = "${confluent_kafka_cluster.nonprod.rbac_crn}/kafka=${confluent_kafka_cluster.nonprod.id}/topic=*" }

in variables.tf variable "nonprod_readonly" { description = "Non Production Kafka Topics - ReadOnly" type = list(string) default = ["u-qrqxq6", "u-97r5n5"] }