23
23
24
24
import argparse
25
25
26
- from google .cloud import pubsub_v1
27
26
28
-
29
- def get_topic_policy (project , topic_name ):
27
+ def get_topic_policy (project , topic_id ):
30
28
"""Prints the IAM policy for the given topic."""
31
29
# [START pubsub_get_topic_policy]
30
+ from google .cloud import pubsub_v1
31
+
32
+ # TODO(developer)
33
+ # project_id = "your-project-id"
34
+ # topic_id = "your-topic-id"
35
+
32
36
client = pubsub_v1 .PublisherClient ()
33
- topic_path = client .topic_path (project , topic_name )
37
+ topic_path = client .topic_path (project , topic_id )
34
38
35
39
policy = client .get_iam_policy (topic_path )
36
40
@@ -40,11 +44,17 @@ def get_topic_policy(project, topic_name):
40
44
# [END pubsub_get_topic_policy]
41
45
42
46
43
- def get_subscription_policy (project , subscription_name ):
47
+ def get_subscription_policy (project , subscription_id ):
44
48
"""Prints the IAM policy for the given subscription."""
45
49
# [START pubsub_get_subscription_policy]
50
+ from google .cloud import pubsub_v1
51
+
52
+ # TODO(developer)
53
+ # project_id = "your-project-id"
54
+ # subscription_id = "your-subscription-id"
55
+
46
56
client = pubsub_v1 .SubscriberClient ()
47
- subscription_path = client .subscription_path (project , subscription_name )
57
+ subscription_path = client .subscription_path (project , subscription_id )
48
58
49
59
policy = client .get_iam_policy (subscription_path )
50
60
@@ -56,11 +66,17 @@ def get_subscription_policy(project, subscription_name):
56
66
# [END pubsub_get_subscription_policy]
57
67
58
68
59
- def set_topic_policy (project , topic_name ):
69
+ def set_topic_policy (project , topic_id ):
60
70
"""Sets the IAM policy for a topic."""
61
71
# [START pubsub_set_topic_policy]
72
+ from google .cloud import pubsub_v1
73
+
74
+ # TODO(developer)
75
+ # project_id = "your-project-id"
76
+ # topic_id = "your-topic-id"
77
+
62
78
client = pubsub_v1 .PublisherClient ()
63
- topic_path = client .topic_path (project , topic_name )
79
+ topic_path = client .topic_path (project , topic_id )
64
80
65
81
policy = client .get_iam_policy (topic_path )
66
82
@@ -75,64 +91,72 @@ def set_topic_policy(project, topic_name):
75
91
# Set the policy
76
92
policy = client .set_iam_policy (topic_path , policy )
77
93
78
- print ("IAM policy for topic {} set: {}" .format (topic_name , policy ))
94
+ print ("IAM policy for topic {} set: {}" .format (topic_id , policy ))
79
95
# [END pubsub_set_topic_policy]
80
96
81
97
82
- def set_subscription_policy (project , subscription_name ):
98
+ def set_subscription_policy (project , subscription_id ):
83
99
"""Sets the IAM policy for a topic."""
84
100
# [START pubsub_set_subscription_policy]
101
+ from google .cloud import pubsub_v1
102
+
103
+ # TODO(developer)
104
+ # project_id = "your-project-id"
105
+ # subscription_id = "your-subscription-id"
106
+
85
107
client = pubsub_v1 .SubscriberClient ()
86
- subscription_path = client .subscription_path (project , subscription_name )
108
+ subscription_path = client .subscription_path (project , subscription_id )
87
109
88
110
policy = client .get_iam_policy (subscription_path )
89
111
90
112
# Add all users as viewers.
91
113
policy .bindings .add (role = "roles/pubsub.viewer" , members = ["allUsers" ])
92
114
93
115
# Add a group as an editor.
94
- policy .bindings .add (
95
- role = "roles/editor" ,
members = [
"group:[email protected] " ]
96
- )
116
+ policy .
bindings .
add (
role = "roles/editor" ,
members = [
"group:[email protected] " ])
97
117
98
118
# Set the policy
99
119
policy = client .set_iam_policy (subscription_path , policy )
100
120
101
- print (
102
- "IAM policy for subscription {} set: {}" .format (
103
- subscription_name , policy
104
- )
105
- )
121
+ print ("IAM policy for subscription {} set: {}" .format (subscription_id , policy ))
106
122
107
123
client .close ()
108
124
# [END pubsub_set_subscription_policy]
109
125
110
126
111
- def check_topic_permissions (project , topic_name ):
127
+ def check_topic_permissions (project , topic_id ):
112
128
"""Checks to which permissions are available on the given topic."""
113
129
# [START pubsub_test_topic_permissions]
130
+ from google .cloud import pubsub_v1
131
+
132
+ # TODO(developer)
133
+ # project_id = "your-project-id"
134
+ # topic_id = "your-topic-id"
135
+
114
136
client = pubsub_v1 .PublisherClient ()
115
- topic_path = client .topic_path (project , topic_name )
137
+ topic_path = client .topic_path (project , topic_id )
116
138
117
139
permissions_to_check = ["pubsub.topics.publish" , "pubsub.topics.update" ]
118
140
119
- allowed_permissions = client .test_iam_permissions (
120
- topic_path , permissions_to_check
121
- )
141
+ allowed_permissions = client .test_iam_permissions (topic_path , permissions_to_check )
122
142
123
143
print (
124
- "Allowed permissions for topic {}: {}" .format (
125
- topic_path , allowed_permissions
126
- )
144
+ "Allowed permissions for topic {}: {}" .format (topic_path , allowed_permissions )
127
145
)
128
146
# [END pubsub_test_topic_permissions]
129
147
130
148
131
- def check_subscription_permissions (project , subscription_name ):
149
+ def check_subscription_permissions (project , subscription_id ):
132
150
"""Checks to which permissions are available on the given subscription."""
133
151
# [START pubsub_test_subscription_permissions]
152
+ from google .cloud import pubsub_v1
153
+
154
+ # TODO(developer)
155
+ # project_id = "your-project-id"
156
+ # subscription_id = "your-subscription-id"
157
+
134
158
client = pubsub_v1 .SubscriberClient ()
135
- subscription_path = client .subscription_path (project , subscription_name )
159
+ subscription_path = client .subscription_path (project , subscription_id )
136
160
137
161
permissions_to_check = [
138
162
"pubsub.subscriptions.consume" ,
@@ -155,8 +179,7 @@ def check_subscription_permissions(project, subscription_name):
155
179
156
180
if __name__ == "__main__" :
157
181
parser = argparse .ArgumentParser (
158
- description = __doc__ ,
159
- formatter_class = argparse .RawDescriptionHelpFormatter ,
182
+ description = __doc__ , formatter_class = argparse .RawDescriptionHelpFormatter ,
160
183
)
161
184
parser .add_argument ("project" , help = "Your Google Cloud project ID" )
162
185
@@ -165,45 +188,44 @@ def check_subscription_permissions(project, subscription_name):
165
188
get_topic_policy_parser = subparsers .add_parser (
166
189
"get-topic-policy" , help = get_topic_policy .__doc__
167
190
)
168
- get_topic_policy_parser .add_argument ("topic_name " )
191
+ get_topic_policy_parser .add_argument ("topic_id " )
169
192
170
193
get_subscription_policy_parser = subparsers .add_parser (
171
194
"get-subscription-policy" , help = get_subscription_policy .__doc__
172
195
)
173
- get_subscription_policy_parser .add_argument ("subscription_name " )
196
+ get_subscription_policy_parser .add_argument ("subscription_id " )
174
197
175
198
set_topic_policy_parser = subparsers .add_parser (
176
199
"set-topic-policy" , help = set_topic_policy .__doc__
177
200
)
178
- set_topic_policy_parser .add_argument ("topic_name " )
201
+ set_topic_policy_parser .add_argument ("topic_id " )
179
202
180
203
set_subscription_policy_parser = subparsers .add_parser (
181
204
"set-subscription-policy" , help = set_subscription_policy .__doc__
182
205
)
183
- set_subscription_policy_parser .add_argument ("subscription_name " )
206
+ set_subscription_policy_parser .add_argument ("subscription_id " )
184
207
185
208
check_topic_permissions_parser = subparsers .add_parser (
186
209
"check-topic-permissions" , help = check_topic_permissions .__doc__
187
210
)
188
- check_topic_permissions_parser .add_argument ("topic_name " )
211
+ check_topic_permissions_parser .add_argument ("topic_id " )
189
212
190
213
check_subscription_permissions_parser = subparsers .add_parser (
191
- "check-subscription-permissions" ,
192
- help = check_subscription_permissions .__doc__ ,
214
+ "check-subscription-permissions" , help = check_subscription_permissions .__doc__ ,
193
215
)
194
- check_subscription_permissions_parser .add_argument ("subscription_name " )
216
+ check_subscription_permissions_parser .add_argument ("subscription_id " )
195
217
196
218
args = parser .parse_args ()
197
219
198
220
if args .command == "get-topic-policy" :
199
- get_topic_policy (args .project , args .topic_name )
221
+ get_topic_policy (args .project , args .topic_id )
200
222
elif args .command == "get-subscription-policy" :
201
- get_subscription_policy (args .project , args .subscription_name )
223
+ get_subscription_policy (args .project , args .subscription_id )
202
224
elif args .command == "set-topic-policy" :
203
- set_topic_policy (args .project , args .topic_name )
225
+ set_topic_policy (args .project , args .topic_id )
204
226
elif args .command == "set-subscription-policy" :
205
- set_subscription_policy (args .project , args .subscription_name )
227
+ set_subscription_policy (args .project , args .subscription_id )
206
228
elif args .command == "check-topic-permissions" :
207
- check_topic_permissions (args .project , args .topic_name )
229
+ check_topic_permissions (args .project , args .topic_id )
208
230
elif args .command == "check-subscription-permissions" :
209
- check_subscription_permissions (args .project , args .subscription_name )
231
+ check_subscription_permissions (args .project , args .subscription_id )
0 commit comments