13
13
14
14
'use strict' ;
15
15
16
- // [START auth ]
16
+ // [START setup ]
17
17
// By default, the client will authenticate using the service account file
18
18
// specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable and use
19
19
// the project specified by the GCLOUD_PROJECT environment variable. See
20
20
// https://googlecloudplatform.github.io/gcloud-node/#/docs/google-cloud/latest/guides/authentication
21
21
var PubSub = require ( '@google-cloud/pubsub' ) ;
22
+ // [END setup]
22
23
23
- // Instantiate a pubsub client
24
- var pubsub = PubSub ( ) ;
25
- // [END auth]
26
-
27
- // [START get_topic_policy]
28
- /**
29
- * Retrieve a topic's IAM policy.
30
- *
31
- * @param {string } topicName The name of the topic.
32
- * @param {function } callback The callback function.
33
- */
34
24
function getTopicPolicy ( topicName , callback ) {
35
- if ( ! topicName ) {
36
- return callback ( new Error ( '"topicName" is required!' ) ) ;
37
- }
38
-
39
- // Grab a reference to an existing topic
25
+ var pubsub = PubSub ( ) ;
40
26
var topic = pubsub . topic ( topicName ) ;
41
27
42
28
// Retrieve the IAM policy for the topic
43
- topic . iam . getPolicy ( function ( err , policy ) {
29
+ // See https://googlecloudplatform.github.io/google-cloud-node/#/docs/pubsub/latest/pubsub/topic?method=iam.getPolicy
30
+ topic . iam . getPolicy ( function ( err , policy , apiResponse ) {
44
31
if ( err ) {
45
32
return callback ( err ) ;
46
33
}
47
34
48
- console . log ( 'Got topic policy: ' , policy ) ;
49
- return callback ( null , policy ) ;
35
+ console . log ( 'Got policy for topic: %s ' , topicName ) ;
36
+ return callback ( null , policy , apiResponse ) ;
50
37
} ) ;
51
38
}
52
- // [END get_topic_policy]
53
39
54
- // [START get_subscription_policy]
55
- /**
56
- * Retrieve a subcription's IAM policy.
57
- *
58
- * @param {string } subscriptionName The name of the subscription.
59
- * @param {function } callback The callback function.
60
- */
61
40
function getSubscriptionPolicy ( subscriptionName , callback ) {
62
- if ( ! subscriptionName ) {
63
- return callback ( new Error ( '"subscriptionName" is required!' ) ) ;
64
- }
65
-
66
- // Grab a reference to an existing subscription
41
+ var pubsub = PubSub ( ) ;
67
42
var subscription = pubsub . subscription ( subscriptionName ) ;
68
43
69
44
// Retrieve the IAM policy for the subscription
70
- subscription . iam . getPolicy ( function ( err , policy ) {
45
+ // See https://googlecloudplatform.github.io/google-cloud-node/#/docs/pubsub/latest/pubsub/subscription?method=iam.getPolicy
46
+ subscription . iam . getPolicy ( function ( err , policy , apiResponse ) {
71
47
if ( err ) {
72
48
return callback ( err ) ;
73
49
}
74
50
75
- console . log ( 'Got subscription policy: ' , policy ) ;
76
- return callback ( null , policy ) ;
51
+ console . log ( 'Got policy for subscription: %s ' , subscriptionName ) ;
52
+ return callback ( null , policy , apiResponse ) ;
77
53
} ) ;
78
54
}
79
- // [END get_subscription_policy]
80
55
81
- // [START set_topic_policy]
82
- /**
83
- * Set a topic's IAM policy.
84
- *
85
- * @param {string } topicName The name of the topic.
86
- * @param {function } callback The callback function.
87
- */
88
56
function setTopicPolicy ( topicName , callback ) {
89
- if ( ! topicName ) {
90
- return callback ( new Error ( '"topicName" is required!' ) ) ;
91
- }
92
-
93
- // Grab a reference to an existing topic
57
+ var pubsub = PubSub ( ) ;
94
58
var topic = pubsub . topic ( topicName ) ;
95
59
96
60
// Policy update
@@ -104,29 +68,19 @@ function setTopicPolicy (topicName, callback) {
104
68
} ;
105
69
106
70
// Set the IAM policy for the specified topic
107
- topic . iam . setPolicy ( newPolicy , function ( err , policy ) {
71
+ // See https://googlecloudplatform.github.io/google-cloud-node/#/docs/pubsub/latest/pubsub/topic?method=iam.setPolicy
72
+ topic . iam . setPolicy ( newPolicy , function ( err , updatedPolicy , apiResponse ) {
108
73
if ( err ) {
109
74
return callback ( err ) ;
110
75
}
111
76
112
77
console . log ( 'Updated policy for topic: %s' , topicName ) ;
113
- return callback ( null , policy ) ;
78
+ return callback ( null , updatedPolicy , apiResponse ) ;
114
79
} ) ;
115
80
}
116
- // [END set_topic_policy]
117
81
118
- // [START set_subscription_policy]
119
- /**
120
- * @param {string } subscriptionName Name of the subscription whose policy is to
121
- * be updated.
122
- * @param {function } callback The callback function.
123
- */
124
82
function setSubscriptionPolicy ( subscriptionName , callback ) {
125
- if ( ! subscriptionName ) {
126
- return callback ( new Error ( '"subscriptionName" is required!' ) ) ;
127
- }
128
-
129
- // Grab a reference to an existing subscription
83
+ var pubsub = PubSub ( ) ;
130
84
var subscription = pubsub . subscription ( subscriptionName ) ;
131
85
132
86
// Policy update
@@ -140,30 +94,19 @@ function setSubscriptionPolicy (subscriptionName, callback) {
140
94
} ;
141
95
142
96
// Set the IAM policy for the specified subscription
143
- subscription . iam . setPolicy ( newPolicy , function ( err , policy ) {
97
+ // See https://googlecloudplatform.github.io/google-cloud-node/#/docs/pubsub/latest/pubsub/subscription?method=iam.setPolicy
98
+ subscription . iam . setPolicy ( newPolicy , function ( err , updatedPolicy , apiResponse ) {
144
99
if ( err ) {
145
100
return callback ( err ) ;
146
101
}
147
102
148
103
console . log ( 'Updated policy for subscription: %s' , subscriptionName ) ;
149
- return callback ( null , policy ) ;
104
+ return callback ( null , updatedPolicy , apiResponse ) ;
150
105
} ) ;
151
106
}
152
- // [END set_subscription_policy]
153
107
154
- // [START test_topic_permissions]
155
- /**
156
- * Test a topic's IAM permissions.
157
- *
158
- * @param {string } topicName The name of the topic.
159
- * @param {function } callback The callback function.
160
- */
161
108
function testTopicPermissions ( topicName , callback ) {
162
- if ( ! topicName ) {
163
- return callback ( new Error ( '"topicName" is required!' ) ) ;
164
- }
165
-
166
- // Grab a reference to an existing topic
109
+ var pubsub = PubSub ( ) ;
167
110
var topic = pubsub . topic ( topicName ) ;
168
111
169
112
var permissionsToTest = [
@@ -173,30 +116,19 @@ function testTopicPermissions (topicName, callback) {
173
116
] ;
174
117
175
118
// Test the IAM policy for the specified topic
176
- topic . iam . testPermissions ( permissionsToTest , function ( err , permissions ) {
119
+ // See https://googlecloudplatform.github.io/google-cloud-node/#/docs/pubsub/latest/pubsub/topic?method=iam.testPermissions
120
+ topic . iam . testPermissions ( permissionsToTest , function ( err , permissions , apiResponse ) {
177
121
if ( err ) {
178
122
return callback ( err ) ;
179
123
}
180
124
181
125
console . log ( 'Tested permissions for topic: %s' , topicName ) ;
182
- return callback ( null , permissions ) ;
126
+ return callback ( null , permissions , apiResponse ) ;
183
127
} ) ;
184
128
}
185
- // [END test_topic_permissions]
186
129
187
- // [START test_subscription_permissions]
188
- /**
189
- * Test a subcription's IAM permissions.
190
- *
191
- * @param {string } subscriptionName The name of the subscription.
192
- * @param {function } callback The callback function.
193
- */
194
130
function testSubscriptionPermissions ( subscriptionName , callback ) {
195
- if ( ! subscriptionName ) {
196
- return callback ( new Error ( '"subscriptionName" is required!' ) ) ;
197
- }
198
-
199
- // Grab a reference to an existing subscription
131
+ var pubsub = PubSub ( ) ;
200
132
var subscription = pubsub . subscription ( subscriptionName ) ;
201
133
202
134
var permissionsToTest = [
@@ -205,16 +137,16 @@ function testSubscriptionPermissions (subscriptionName, callback) {
205
137
] ;
206
138
207
139
// Test the IAM policy for the specified subscription
208
- subscription . iam . testPermissions ( permissionsToTest , function ( err , permissions ) {
140
+ // See https://googlecloudplatform.github.io/google-cloud-node/#/docs/pubsub/latest/pubsub/subscription?method=iam.testPermissions
141
+ subscription . iam . testPermissions ( permissionsToTest , function ( err , permissions , apiResponse ) {
209
142
if ( err ) {
210
143
return callback ( err ) ;
211
144
}
212
145
213
146
console . log ( 'Tested permissions for subscription: %s' , subscriptionName ) ;
214
- return callback ( null , permissions ) ;
147
+ return callback ( null , permissions , apiResponse ) ;
215
148
} ) ;
216
149
}
217
- // [END test_subscription_permissions]
218
150
219
151
// [START usage]
220
152
function printUsage ( ) {
0 commit comments