{"id":18578987,"url":"https://github.com/libre-devops/terraform-azurerm-custom-roles","last_synced_at":"2026-03-19T05:08:48.368Z","repository":{"id":118714395,"uuid":"598800957","full_name":"libre-devops/terraform-azurerm-custom-roles","owner":"libre-devops","description":"Custom Roles module","archived":false,"fork":false,"pushed_at":"2023-02-13T01:57:32.000Z","size":21,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-05-16T02:12:40.072Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/libre-devops.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-07T20:44:54.000Z","updated_at":"2023-02-18T20:57:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"8f36c608-bae6-43ca-afa6-1a3835762685","html_url":"https://github.com/libre-devops/terraform-azurerm-custom-roles","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":"libre-devops/terraform-module-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libre-devops%2Fterraform-azurerm-custom-roles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libre-devops%2Fterraform-azurerm-custom-roles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libre-devops%2Fterraform-azurerm-custom-roles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libre-devops%2Fterraform-azurerm-custom-roles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/libre-devops","download_url":"https://codeload.github.com/libre-devops/terraform-azurerm-custom-roles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254453625,"owners_count":22073618,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T23:38:31.522Z","updated_at":"2026-01-25T19:06:10.493Z","avatar_url":"https://github.com/libre-devops.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"```hcl\nmodule \"roles\" {\n  source = \"registry.terraform.io/libre-devops/custom-roles/azurerm\"\n\n  create_role = true\n  assign_role = true\n\n  roles = [\n    {\n      role_definition_name        = \"LibreDevOpsExample\"\n      role_definition_description = \"An example role\"\n      role_definition_scope       = \"/subscriptions/${data.azurerm_client_config.current_creds.subscription_id}\"\n      role_definition_permissions = [\n        {\n          actions = [\n            \"Microsoft.Authorization/*/read\",\n          ]\n        }\n      ]\n      role_assignment_name                  = \"LibreDevOpsCustomRole\"\n      role_assignment_description           = \"This is an example description for role assignment\"\n      role_assignment_scope                 = \"/subscriptions/${data.azurerm_client_config.current_creds.subscription_id}\"\n      role_assignment_assignee_principal_id = data.azurerm_user_assigned_identity.mgmt_user_assigned_id.principal_id\n\n    }\n  ]\n}\n```\n## Requirements\n\nNo requirements.\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_azurerm\"\u003e\u003c/a\u003e [azurerm](#provider\\_azurerm) | n/a |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [azurerm_role_assignment.role_assignment_custom_role](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/role_assignment) | resource |\n| [azurerm_role_assignment.role_assignment_inbuilt_role](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/role_assignment) | resource |\n| [azurerm_role_definition.role_definitions](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/role_definition) | resource |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_assign_role\"\u003e\u003c/a\u003e [assign\\_role](#input\\_assign\\_role) | Whether or not a role should be assigned to a scope | `bool` | `true` | no |\n| \u003ca name=\"input_create_role\"\u003e\u003c/a\u003e [create\\_role](#input\\_create\\_role) | Whether a role definition should be created | `bool` | `false` | no |\n| \u003ca name=\"input_roles\"\u003e\u003c/a\u003e [roles](#input\\_roles) | The object needed to create and assign custom roles | \u003cpre\u003elist(object({\u003cbr\u003e    role_assignment_name                                   = optional(string)\u003cbr\u003e    role_assignment_scope                                  = optional(string)\u003cbr\u003e    role_assignment_assignee_principal_id                  = optional(string)\u003cbr\u003e    role_assignment_description                            = optional(string)\u003cbr\u003e    role_assignment_condition                              = optional(string)\u003cbr\u003e    role_assignment_condition_version                      = optional(number)\u003cbr\u003e    role_assignment_delegated_managed_identity_resource_id = optional(string)\u003cbr\u003e\u003cbr\u003e    role_definition_id                = optional(string)\u003cbr\u003e    role_definition_name              = optional(string)\u003cbr\u003e    role_definition_description       = optional(string)\u003cbr\u003e    role_definition_scope             = optional(string)\u003cbr\u003e    role_definition_assignable_scopes = optional(list(string), [])\u003cbr\u003e    role_definition_permissions = optional(list(object({\u003cbr\u003e      actions          = optional(list(string), [])\u003cbr\u003e      not_actions      = optional(list(string), [])\u003cbr\u003e      data_actions     = optional(list(string), [])\u003cbr\u003e      not_data_actions = optional(list(string), [])\u003cbr\u003e    })), [])\u003cbr\u003e  }))\u003c/pre\u003e | n/a | yes |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | A map of the tags to use on the resources that are deployed with this module. | `map(string)` | \u003cpre\u003e{\u003cbr\u003e  \"source\": \"terraform\"\u003cbr\u003e}\u003c/pre\u003e | no |\n\n## Outputs\n\nNo outputs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibre-devops%2Fterraform-azurerm-custom-roles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibre-devops%2Fterraform-azurerm-custom-roles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibre-devops%2Fterraform-azurerm-custom-roles/lists"}