# Google Cloud Identity Group Factory This module allows creation and management of Cloud Identity Groups by defining them in well formatted `yaml` files. Yaml abstraction for Groups can simplify groups creation and members management. Yaml can be simpler and clearer comparing to HCL. ## Example ### Terraform code ```hcl module "groups" { source = "./fabric/modules/__experimental_deprecated/cloud-identity-group-factory" customer_id = "customers/C0xxxxxxx" data_dir = "data" } # tftest modules=2 resources=3 files=group1 ``` ```yaml # tftest-file id=group1 path=data/group1@example.com.yaml display_name: Group 1 description: Group 1 members: - user1@example.com managers: - user2@example.com ``` ### Configuration Structure Groups configuration should be placed in a set of yaml files. The name of the file identify the name of the group. ```bash ├── data ├── group1@domain.com.yaml    ├── group2@domain.com.yaml ``` ### Group definition format and structure Within each file, the group entry structure is following: ```yaml display_name: Group 1 # Group display name. description: Group 1 description # Group description. members: # List of group members. - user_1@example.com - user_2@example.com managers: # List of group managers. - manager_1@example.com ``` ## Variables | name | description | type | required | default | |---|---|:---:|:---:|:---:| | [customer_id](variables.tf#L17) | Directory customer ID in the form customers/C0xxxxxxx. | string | ✓ | | | [data_dir](variables.tf#L22) | Relative path for the folder storing configuration data. | string | ✓ | | ## Outputs | name | description | sensitive | |---|---|:---:| | [group_id](outputs.tf#L17) | Group name => Group ID mapping. | |