@@ -20,29 +20,54 @@ provider "nutanix" {
20
20
insecure = true
21
21
}
22
22
23
- # create authorization policy
24
- resource "nutanix_authorization_policy_v2" "auth_policy_example" {
25
- role = " <role_uuid>"
26
- display_name = " <acp name>"
27
- description = " <acp description>"
28
- authorization_policy_type = " <acp type>"
29
- # identity and entity will defined as a json string
23
+
24
+ # fetch operations
25
+ data "nutanix_operations_v2" "operation-list" {
26
+ filter = " startswith(displayName, 'Create_')"
27
+ }
28
+
29
+ # create role
30
+ resource "nutanix_roles_v2" "role" {
31
+ display_name = " role_auth_example"
32
+ description = " role for authorization policy"
33
+ operations = [
34
+ data . nutanix_operations_v2 . operation-list . operations [0 ]. ext_id ,
35
+ data . nutanix_operations_v2 . operation-list . operations [1 ]. ext_id ,
36
+ data . nutanix_operations_v2 . operation-list . operations [2 ]. ext_id ,
37
+ data . nutanix_operations_v2 . operation-list . operations [3 ]. ext_id
38
+ ]
39
+ }
40
+
41
+ resource "nutanix_authorization_policy_v2" "ap-example" {
42
+ role = nutanix_roles_v2. role . id
43
+ display_name = " auth_policy_example"
44
+ description = " authorization policy example"
45
+ authorization_policy_type = " USER_DEFINED"
30
46
identities {
31
- reserved = " <identity_uuid> " # ex : " {\"user\":{\"uuid\":{\"anyof\":[\"00000000-0000-0000-0000-000000000000\"]}}}"
47
+ reserved = " {\" user\" :{\" uuid\" :{\" anyof\" :[\" 00000000-0000-0000-0000-000000000000\" ]}}}"
32
48
}
33
49
entities {
34
- reserved = " <entity_uuid>" # ex : "{\"images\":{\"*\":{\"eq\":\"*\"}}}"
50
+ reserved = " {\" images\" :{\" *\" :{\" eq\" :\" *\" }}}"
51
+ }
52
+ entities {
53
+ reserved = " {\" marketplace_item\" :{\" owner_uuid\" :{\" eq\" :\" SELF_OWNED\" }}}"
35
54
}
36
55
}
37
56
38
57
# get authorization policy by id
39
58
data "nutanix_authorization_policy_v2" "example" {
40
- ext_id = nutanix_authorization_policy_v2. auth_policy_example . id
59
+ ext_id = nutanix_authorization_policy_v2. ap-example . id
41
60
}
42
61
43
62
44
63
# list of authorization policies, with limit and filter
45
- data "nutanix_authorization_policies_v2" "examples" {
64
+ data "nutanix_authorization_policies_v2" "filtered-ap" {
65
+ filter = " displayName eq '${ nutanix_authorization_policy_v2 . ap-example . display_name } '"
46
66
limit = 2
47
- filter = " display_name eq '<acp name>'"
67
+ }
68
+
69
+ # list of authorization policies, with select
70
+ data "nutanix_authorization_policies_v2" "select-ap" {
71
+ select = " extId,displayName,description,authorizationPolicyType"
72
+ depends_on = [nutanix_authorization_policy_v2 . ap-example ]
48
73
}
0 commit comments