https://github.com/notablehealth/terraform-google-iam-members
Terraform module to manage Google IAM membership
https://github.com/notablehealth/terraform-google-iam-members
gcp gcp-iam google terraform terraform-module
Last synced: about 2 months ago
JSON representation
Terraform module to manage Google IAM membership
- Host: GitHub
- URL: https://github.com/notablehealth/terraform-google-iam-members
- Owner: notablehealth
- Created: 2023-11-06T16:41:02.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-06T21:25:07.000Z (4 months ago)
- Last Synced: 2025-02-11T11:59:18.244Z (3 months ago)
- Topics: gcp, gcp-iam, google, terraform, terraform-module
- Language: HCL
- Homepage: https://registry.terraform.io/modules/notablehealth/iam-members/google/latest
- Size: 30.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# terraform-google-iam-members
[](https://github.com/notablehealth/terraform-google-iam-members/releases)
[Terraform Module Registry](https://registry.terraform.io/modules/notablehealth/iam-members/google)
Terraform module for Google IAM memberships
## Supports
- Google roles
- Project custom roles
- Organization custom roles
- Storage bucket roles
- BigQuery dataset roles
- BigQuery table roles
- IAM Conditions## Role formats
- bigquery-dataset:[org|project|]-role:datasetId
- bigquery-table:[org|project|]-role:datasetId:tableId
- billing:role
- [org|project|]-role
- storage:[org|project|]-role:bucket## Required Inputs
organization\_id or project\_id MUST be specified
## Usage
Basic usage of this module is as follows:
```hcl
module "example" {
source = "notablehealth//google"
# Recommend pinning every module to a specific version
# version = "x.x.x"
# Required variables
members =
}
```## Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.5.7 |
| [google](#requirement\_google) | >= 5.3 |
| [null](#requirement\_null) | >= 3.2 |## Providers
| Name | Version |
|------|---------|
| [google](#provider\_google) | 5.4.0 |
| [null](#provider\_null) | 3.2.1 |## Modules
No modules.
## Resources
| Name | Type |
|------|------|
| [google_bigquery_dataset_iam_member.self](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/bigquery_dataset_iam_member) | resource |
| [google_bigquery_table_iam_member.self](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/bigquery_table_iam_member) | resource |
| [google_billing_account_iam_member.self](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/billing_account_iam_member) | resource |
| [google_organization_iam_member.self](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/organization_iam_member) | resource |
| [google_project_iam_member.self](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/project_iam_member) | resource |
| [google_storage_bucket_iam_member.self](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/storage_bucket_iam_member) | resource |
| [null_resource.org_proj_precondition_validation](https://registry.terraform.io/providers/hashicorp/null/latest/docs/resources/resource) | resource |
| [google_billing_account.self](https://registry.terraform.io/providers/hashicorp/google/latest/docs/data-sources/billing_account) | data source |## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [billing\_account\_name](#input\_billing\_account\_name) | Billing account name. | `string` | `""` | no |
| [members](#input\_members) | List of members and roles to add them to. |list(object({| n/a | yes |
member = string
#condition = optional(object({
# description = string
# expression = string
# title = string
#}))
roles = list(object({
role = string
condition = optional(object({
description = string
expression = string
title = string
}))
}))
}))
| [organization\_id](#input\_organization\_id) | Organization ID. | `string` | `""` | no |
| [project\_id](#input\_project\_id) | Project ID. | `string` | `""` | no |## Outputs
No outputs.