11resource "random_password" "role" {
2- for_each = var . roles
2+ for_each = local . roles_built_in
33
44 length = 48
55 min_lower = 0
@@ -18,7 +18,7 @@ resource "random_password" "role" {
1818}
1919
2020resource "postgresql_role" "role" {
21- for_each = var . roles
21+ for_each = local . roles_built_in
2222
2323 name = each. key
2424 superuser = false
@@ -75,6 +75,15 @@ resource "postgresql_role" "role_ro" {
7575 statement_timeout = 0
7676}
7777
78+ resource "postgresql_grant_role" "role_ro" {
79+ for_each = {
80+ for role in local . databases_readers : " ${ role . database } __${ role . role } " => role if role . is_iam
81+ }
82+
83+ role = each. value . role
84+ grant_role = " ${ each . value . database } _role_ro"
85+ }
86+
7887resource "postgresql_default_privileges" "role_ro_table" {
7988 for_each = {
8089 for database_writer in local . databases_writers : " ${ database_writer . database } .${ database_writer . role } " => database_writer
@@ -158,6 +167,15 @@ resource "postgresql_role" "role_rw" {
158167 statement_timeout = 0
159168}
160169
170+ resource "postgresql_grant_role" "role_rw" {
171+ for_each = {
172+ for role in local . databases_writers : " ${ role . database } __${ role . role } " => role if role . is_iam
173+ }
174+
175+ role = each. value . role
176+ grant_role = " ${ each . value . database } _role_rw"
177+ }
178+
161179resource "postgresql_default_privileges" "role_rw_table" {
162180 for_each = {
163181 for database_writer in local . databases_writers : " ${ database_writer . database } .${ database_writer . role } " => database_writer
@@ -218,14 +236,3 @@ resource "postgresql_grant" "role_rw_schema" {
218236 privileges = [" CREATE" , " USAGE" ]
219237 with_grant_option = false
220238}
221-
222-
223- moved {
224- from = postgresql_default_privileges. role_ro
225- to = postgresql_default_privileges. role_ro_table
226- }
227-
228- moved {
229- from = postgresql_default_privileges. role_rw
230- to = postgresql_default_privileges. role_rw_table
231- }
0 commit comments