27
27
import googleapiclient .discovery
28
28
29
29
30
- credentials = service_account .Credentials .from_service_account_file (
31
- filename = os .environ ['GOOGLE_APPLICATION_CREDENTIALS' ],
32
- scopes = ['https://www.googleapis.com/auth/cloud-platform' ])
33
- service = googleapiclient .discovery .build (
34
- 'cloudresourcemanager' , 'v1' , credentials = credentials )
35
-
36
-
37
30
# [START iam_get_policy]
38
31
def get_policy (project_id ):
39
32
"""Gets IAM policy for a project."""
40
33
41
34
# pylint: disable=no-member
35
+ credentials = service_account .Credentials .from_service_account_file (
36
+ filename = os .environ ['GOOGLE_APPLICATION_CREDENTIALS' ],
37
+ scopes = ['https://www.googleapis.com/auth/cloud-platform' ])
38
+ service = googleapiclient .discovery.build (
39
+ 'cloudresourcemanager' , 'v1' , credentials = credentials )
42
40
policy = service .projects ().getIamPolicy (
43
41
resource = project_id , body = {}).execute ()
44
42
print (policy )
@@ -49,6 +47,7 @@ def get_policy(project_id):
49
47
# [START iam_modify_policy_add_member]
50
48
def modify_policy_add_member (policy , role , member ):
51
49
"""Adds a new member to a role binding."""
50
+
52
51
binding = next (b for b in policy ['bindings' ] if b ['role' ] == role )
53
52
binding ['members' ].append (member )
54
53
print (binding )
@@ -59,6 +58,7 @@ def modify_policy_add_member(policy, role, member):
59
58
# [START iam_modify_policy_add_role]
60
59
def modify_policy_add_role (policy , role , member ):
61
60
"""Adds a new role binding to a policy."""
61
+
62
62
binding = {
63
63
'role' : role ,
64
64
'members' : [member ]
@@ -74,6 +74,12 @@ def set_policy(project_id, policy):
74
74
"""Sets IAM policy for a project."""
75
75
76
76
# pylint: disable=no-member
77
+ credentials = service_account .Credentials .from_service_account_file (
78
+ filename = os .environ ['GOOGLE_APPLICATION_CREDENTIALS' ],
79
+ scopes = ['https://www.googleapis.com/auth/cloud-platform' ])
80
+ service = googleapiclient .discovery .build (
81
+ 'cloudresourcemanager' , 'v1' , credentials = credentials )
82
+
77
83
policy = service .projects ().setIamPolicy (
78
84
resource = project_id , body = {
79
85
'policy' : policy
0 commit comments