Skip to content

Commit 236d388

Browse files
(GH-919) Update role permission and permissions documentation (#963)
* (GH-919) Update role permission and permissions documentation * resolved issues
1 parent 525eba1 commit 236d388

File tree

6 files changed

+191
-1
lines changed

6 files changed

+191
-1
lines changed

docs/resources/role_permission.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,50 @@ With this resource, you can manage role permissions (1-1).
1212
permissions assigned to a role. To avoid potential issues, it is recommended not to use this resource in conjunction
1313
with the `auth0_role_permissions` resource when managing permissions for the same role id.
1414

15+
## Example Usage
1516

17+
```terraform
18+
# Example:
19+
resource "auth0_resource_server" "resource_server" {
20+
name = "test"
21+
identifier = "test.example.com"
22+
}
23+
24+
resource "auth0_resource_server_scopes" "resource_server_scopes" {
25+
resource_server_identifier = auth0_resource_server.resource_server.identifier
26+
27+
scopes {
28+
name = "store:create"
29+
}
30+
scopes {
31+
name = "store:read"
32+
}
33+
scopes {
34+
name = "store:update"
35+
}
36+
scopes {
37+
name = "store:delete"
38+
}
39+
}
40+
41+
resource "auth0_role" "my_role" {
42+
name = "My Role"
43+
}
44+
45+
locals {
46+
scopesList = [
47+
for scope in auth0_resource_server_scopes.resource_server_scopes.scopes : scope.name
48+
]
49+
}
50+
51+
resource "auth0_role_permission" "my_role_perm" {
52+
for_each = toset(local.scopesList)
53+
54+
role_id = auth0_role.my_role.id
55+
resource_server_identifier = auth0_resource_server.resource_server.identifier
56+
permission = each.value
57+
}
58+
```
1659

1760
<!-- schema generated by tfplugindocs -->
1861
## Schema
@@ -29,4 +72,15 @@ with the `auth0_role_permissions` resource when managing permissions for the sam
2972
- `id` (String) The ID of this resource.
3073
- `resource_server_name` (String) Name of the resource server that the permission is associated with.
3174

75+
## Import
76+
77+
Import is supported using the following syntax:
3278

79+
```shell
80+
# This resource can be imported by specifying the
81+
# role ID, resource identifier, and permission name separated by "::" (note the double colon)
82+
# <roleID>::<resourceServerIdentifier>::<permission>
83+
#
84+
# Example:
85+
terraform import auth0_role_permission.permission "rol_XXXXXXXXXXXXX::https://example.com::read:foo"
86+
```

docs/resources/role_permissions.md

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,47 @@ With this resource, you can manage role permissions (1-many).
1212
appends a permission to a role. To avoid potential issues, it is recommended not to use this resource in conjunction
1313
with the `auth0_role_permission` resource when managing permissions for the same role id.
1414

15-
15+
## Example Usage
16+
17+
```terraform
18+
# Example:
19+
resource "auth0_resource_server" "resource_server" {
20+
name = "test"
21+
identifier = "test.example.com"
22+
}
23+
resource "auth0_resource_server_scopes" "resource_server_scopes" {
24+
resource_server_identifier = auth0_resource_server.resource_server.identifier
25+
26+
scopes {
27+
name = "store:create"
28+
}
29+
scopes {
30+
name = "store:read"
31+
}
32+
scopes {
33+
name = "store:update"
34+
}
35+
scopes {
36+
name = "store:delete"
37+
}
38+
}
39+
40+
resource "auth0_role" "my_role" {
41+
name = "My Role"
42+
}
43+
44+
resource "auth0_role_permissions" "my_role_perms" {
45+
role_id = auth0_role.my_role.id
46+
47+
dynamic "permissions" {
48+
for_each = auth0_resource_server_scopes.resource_server_scopes.scopes
49+
content {
50+
name = permissions.value.name
51+
resource_server_identifier = auth0_resource_server.resource_server.identifier
52+
}
53+
}
54+
}
55+
```
1656

1757
<!-- schema generated by tfplugindocs -->
1858
## Schema
@@ -39,4 +79,13 @@ Read-Only:
3979
- `description` (String) Description of the permission.
4080
- `resource_server_name` (String) Name of resource server that the permission is associated with.
4181

82+
## Import
83+
84+
Import is supported using the following syntax:
4285

86+
```shell
87+
# This resource can be imported by specifying the role ID
88+
#
89+
# Example:
90+
terraform import auth0_role_permissions.all_role_permissions "rol_XXXXXXXXXXXX"
91+
```
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# This resource can be imported by specifying the
2+
# role ID, resource identifier, and permission name separated by "::" (note the double colon)
3+
# <roleID>::<resourceServerIdentifier>::<permission>
4+
#
5+
# Example:
6+
terraform import auth0_role_permission.permission "rol_XXXXXXXXXXXXX::https://example.com::read:foo"
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Example:
2+
resource "auth0_resource_server" "resource_server" {
3+
name = "test"
4+
identifier = "test.example.com"
5+
}
6+
7+
resource "auth0_resource_server_scopes" "resource_server_scopes" {
8+
resource_server_identifier = auth0_resource_server.resource_server.identifier
9+
10+
scopes {
11+
name = "store:create"
12+
}
13+
scopes {
14+
name = "store:read"
15+
}
16+
scopes {
17+
name = "store:update"
18+
}
19+
scopes {
20+
name = "store:delete"
21+
}
22+
}
23+
24+
resource "auth0_role" "my_role" {
25+
name = "My Role"
26+
}
27+
28+
locals {
29+
scopesList = [
30+
for scope in auth0_resource_server_scopes.resource_server_scopes.scopes : scope.name
31+
]
32+
}
33+
34+
resource "auth0_role_permission" "my_role_perm" {
35+
for_each = toset(local.scopesList)
36+
37+
role_id = auth0_role.my_role.id
38+
resource_server_identifier = auth0_resource_server.resource_server.identifier
39+
permission = each.value
40+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# This resource can be imported by specifying the role ID
2+
#
3+
# Example:
4+
terraform import auth0_role_permissions.all_role_permissions "rol_XXXXXXXXXXXX"
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Example:
2+
resource "auth0_resource_server" "resource_server" {
3+
name = "test"
4+
identifier = "test.example.com"
5+
}
6+
resource "auth0_resource_server_scopes" "resource_server_scopes" {
7+
resource_server_identifier = auth0_resource_server.resource_server.identifier
8+
9+
scopes {
10+
name = "store:create"
11+
}
12+
scopes {
13+
name = "store:read"
14+
}
15+
scopes {
16+
name = "store:update"
17+
}
18+
scopes {
19+
name = "store:delete"
20+
}
21+
}
22+
23+
resource "auth0_role" "my_role" {
24+
name = "My Role"
25+
}
26+
27+
resource "auth0_role_permissions" "my_role_perms" {
28+
role_id = auth0_role.my_role.id
29+
30+
dynamic "permissions" {
31+
for_each = auth0_resource_server_scopes.resource_server_scopes.scopes
32+
content {
33+
name = permissions.value.name
34+
resource_server_identifier = auth0_resource_server.resource_server.identifier
35+
}
36+
}
37+
}

0 commit comments

Comments
 (0)