Skip to content

Instantly share code, notes, and snippets.

@h-michael
Created October 26, 2020 04:10
Show Gist options
  • Select an option

  • Save h-michael/1ea5535a297b907d3eafa9daf6e23bd6 to your computer and use it in GitHub Desktop.

Select an option

Save h-michael/1ea5535a297b907d3eafa9daf6e23bd6 to your computer and use it in GitHub Desktop.

Revisions

  1. h-michael created this gist Oct 26, 2020.
    21 changes: 21 additions & 0 deletions main.tf
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,21 @@
    locals {
    role_map_list = flatten([
    for role in var.roles : [
    for member in var.members : {
    role : role,
    member : member
    }
    ]
    ])
    }

    resource "google_project_iam_member" "iam_member_for_each" {
    for_each = {
    for role_map in local.role_map_list : "${role_map.role}/${role_map.member}" => {
    role = role_map.role,
    member = role_map.member,
    }
    }
    role = each.value.role
    member = each.value.member
    }
    7 changes: 7 additions & 0 deletions variables.tf
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,7 @@
    variable members {
    type = set(string)
    }

    variable roles {
    type = set(string)
    }