google-api-client 0.9.pre3 → 0.9.pre4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (307) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/CHANGELOG.md +14 -2
  4. data/Gemfile +4 -0
  5. data/MIGRATING.md +1 -1
  6. data/README.md +17 -3
  7. data/api_names.yaml +127 -14
  8. data/api_names_out.yaml +5442 -710
  9. data/bin/generate-api +16 -14
  10. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  11. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +213 -2
  12. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +71 -0
  13. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +21 -42
  14. data/generated/google/apis/adexchangeseller_v2_0.rb +1 -1
  15. data/generated/google/apis/adexchangeseller_v2_0/service.rb +15 -29
  16. data/generated/google/apis/admin_datatransfer_v1.rb +37 -0
  17. data/generated/google/apis/admin_datatransfer_v1/classes.rb +267 -0
  18. data/generated/google/apis/admin_datatransfer_v1/representations.rb +118 -0
  19. data/generated/google/apis/admin_datatransfer_v1/service.rb +262 -0
  20. data/generated/google/apis/admin_directory_v1.rb +25 -1
  21. data/generated/google/apis/admin_directory_v1/classes.rb +718 -0
  22. data/generated/google/apis/admin_directory_v1/representations.rb +244 -0
  23. data/generated/google/apis/admin_directory_v1/service.rb +1522 -509
  24. data/generated/google/apis/admin_reports_v1.rb +1 -1
  25. data/generated/google/apis/admin_reports_v1/service.rb +5 -10
  26. data/generated/google/apis/adsense_v1_4.rb +1 -1
  27. data/generated/google/apis/adsense_v1_4/classes.rb +6 -0
  28. data/generated/google/apis/adsense_v1_4/representations.rb +1 -0
  29. data/generated/google/apis/adsense_v1_4/service.rb +40 -78
  30. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  31. data/generated/google/apis/adsensehost_v4_1/service.rb +26 -52
  32. data/generated/google/apis/analytics_v3.rb +1 -1
  33. data/generated/google/apis/analytics_v3/classes.rb +11 -13
  34. data/generated/google/apis/analytics_v3/service.rb +84 -158
  35. data/generated/google/apis/androidenterprise_v1.rb +2 -2
  36. data/generated/google/apis/androidenterprise_v1/classes.rb +276 -8
  37. data/generated/google/apis/androidenterprise_v1/representations.rb +106 -0
  38. data/generated/google/apis/androidenterprise_v1/service.rb +715 -97
  39. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  40. data/generated/google/apis/androidpublisher_v2/classes.rb +2 -2
  41. data/generated/google/apis/androidpublisher_v2/service.rb +55 -107
  42. data/generated/google/apis/appengine_v1beta4.rb +35 -0
  43. data/generated/google/apis/appengine_v1beta4/classes.rb +1532 -0
  44. data/generated/google/apis/appengine_v1beta4/representations.rb +526 -0
  45. data/generated/google/apis/appengine_v1beta4/service.rb +476 -0
  46. data/generated/google/apis/appsactivity_v1.rb +1 -1
  47. data/generated/google/apis/appsactivity_v1/service.rb +1 -2
  48. data/generated/google/apis/appstate_v1.rb +1 -1
  49. data/generated/google/apis/appstate_v1/service.rb +6 -11
  50. data/generated/google/apis/autoscaler_v1beta2/service.rb +10 -20
  51. data/generated/google/apis/bigquery_v2.rb +4 -1
  52. data/generated/google/apis/bigquery_v2/classes.rb +231 -16
  53. data/generated/google/apis/bigquery_v2/representations.rb +62 -0
  54. data/generated/google/apis/bigquery_v2/service.rb +24 -45
  55. data/generated/google/apis/blogger_v3/service.rb +33 -66
  56. data/generated/google/apis/books_v1.rb +1 -1
  57. data/generated/google/apis/books_v1/classes.rb +441 -0
  58. data/generated/google/apis/books_v1/representations.rb +177 -0
  59. data/generated/google/apis/books_v1/service.rb +210 -90
  60. data/generated/google/apis/calendar_v3.rb +1 -1
  61. data/generated/google/apis/calendar_v3/classes.rb +34 -18
  62. data/generated/google/apis/calendar_v3/service.rb +118 -103
  63. data/generated/google/apis/civicinfo_v2.rb +1 -1
  64. data/generated/google/apis/civicinfo_v2/classes.rb +12 -3
  65. data/generated/google/apis/civicinfo_v2/representations.rb +1 -0
  66. data/generated/google/apis/civicinfo_v2/service.rb +5 -10
  67. data/generated/google/apis/classroom_v1.rb +49 -0
  68. data/generated/google/apis/classroom_v1/classes.rb +512 -0
  69. data/generated/google/apis/classroom_v1/representations.rb +217 -0
  70. data/generated/google/apis/classroom_v1/service.rb +970 -0
  71. data/generated/google/apis/cloudbilling_v1.rb +35 -0
  72. data/generated/google/apis/cloudbilling_v1/classes.rb +169 -0
  73. data/generated/google/apis/cloudbilling_v1/representations.rb +79 -0
  74. data/generated/google/apis/cloudbilling_v1/service.rb +258 -0
  75. data/generated/google/apis/clouddebugger_v2.rb +41 -0
  76. data/generated/google/apis/clouddebugger_v2/classes.rb +1004 -0
  77. data/generated/google/apis/clouddebugger_v2/representations.rb +410 -0
  78. data/generated/google/apis/clouddebugger_v2/service.rb +370 -0
  79. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  80. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +6 -12
  81. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +5 -2
  82. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +173 -249
  83. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +36 -68
  84. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +293 -80
  85. data/generated/google/apis/cloudtrace_v1.rb +35 -0
  86. data/generated/google/apis/cloudtrace_v1/classes.rb +188 -0
  87. data/generated/google/apis/cloudtrace_v1/representations.rb +92 -0
  88. data/generated/google/apis/cloudtrace_v1/service.rb +190 -0
  89. data/generated/google/apis/clouduseraccounts_beta.rb +43 -0
  90. data/generated/google/apis/clouduseraccounts_beta/classes.rb +823 -0
  91. data/generated/google/apis/clouduseraccounts_beta/representations.rb +313 -0
  92. data/generated/google/apis/clouduseraccounts_beta/service.rb +854 -0
  93. data/generated/google/apis/compute_beta.rb +49 -0
  94. data/generated/google/apis/compute_beta/classes.rb +9128 -0
  95. data/generated/google/apis/compute_beta/representations.rb +3048 -0
  96. data/generated/google/apis/compute_beta/service.rb +10154 -0
  97. data/generated/google/apis/compute_v1.rb +1 -1
  98. data/generated/google/apis/compute_v1/classes.rb +1305 -520
  99. data/generated/google/apis/compute_v1/representations.rb +122 -15
  100. data/generated/google/apis/compute_v1/service.rb +2202 -1085
  101. data/generated/google/apis/container_v1.rb +1 -1
  102. data/generated/google/apis/container_v1/classes.rb +56 -31
  103. data/generated/google/apis/container_v1/representations.rb +12 -0
  104. data/generated/google/apis/container_v1/service.rb +62 -41
  105. data/generated/google/apis/content_v2.rb +2 -2
  106. data/generated/google/apis/content_v2/classes.rb +2252 -56
  107. data/generated/google/apis/content_v2/representations.rb +917 -87
  108. data/generated/google/apis/content_v2/service.rb +680 -85
  109. data/generated/google/apis/coordinate_v1.rb +1 -1
  110. data/generated/google/apis/coordinate_v1/service.rb +16 -25
  111. data/generated/google/apis/customsearch_v1/service.rb +1 -2
  112. data/generated/google/apis/datastore_v1beta2.rb +1 -1
  113. data/generated/google/apis/datastore_v1beta2/service.rb +12 -18
  114. data/generated/google/apis/deploymentmanager_v2.rb +44 -0
  115. data/generated/google/apis/deploymentmanager_v2/classes.rb +1089 -0
  116. data/generated/google/apis/deploymentmanager_v2/representations.rb +422 -0
  117. data/generated/google/apis/deploymentmanager_v2/service.rb +857 -0
  118. data/generated/google/apis/deploymentmanager_v2beta2.rb +5 -2
  119. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +22 -3
  120. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +3 -0
  121. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +14 -27
  122. data/generated/google/apis/dfareporting_v2_1.rb +1 -1
  123. data/generated/google/apis/dfareporting_v2_1/classes.rb +29 -14
  124. data/generated/google/apis/dfareporting_v2_1/service.rb +196 -389
  125. data/generated/google/apis/discovery_v1/classes.rb +7 -0
  126. data/generated/google/apis/discovery_v1/representations.rb +1 -0
  127. data/generated/google/apis/discovery_v1/service.rb +2 -4
  128. data/generated/google/apis/dns_v1.rb +4 -1
  129. data/generated/google/apis/dns_v1/service.rb +9 -18
  130. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  131. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +9 -2
  132. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +1 -0
  133. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +8 -16
  134. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  135. data/generated/google/apis/doubleclicksearch_v2/classes.rb +15 -6
  136. data/generated/google/apis/doubleclicksearch_v2/representations.rb +1 -0
  137. data/generated/google/apis/doubleclicksearch_v2/service.rb +13 -23
  138. data/generated/google/apis/drive_v2.rb +1 -1
  139. data/generated/google/apis/drive_v2/classes.rb +73 -30
  140. data/generated/google/apis/drive_v2/representations.rb +14 -0
  141. data/generated/google/apis/drive_v2/service.rb +139 -135
  142. data/generated/google/apis/drive_v3.rb +55 -0
  143. data/generated/google/apis/drive_v3/classes.rb +1534 -0
  144. data/generated/google/apis/drive_v3/representations.rb +497 -0
  145. data/generated/google/apis/drive_v3/service.rb +1541 -0
  146. data/generated/google/apis/fitness_v1.rb +1 -1
  147. data/generated/google/apis/fitness_v1/service.rb +14 -27
  148. data/generated/google/apis/fusiontables_v2/service.rb +40 -73
  149. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  150. data/generated/google/apis/games_configuration_v1configuration/service.rb +14 -27
  151. data/generated/google/apis/games_management_v1management.rb +37 -0
  152. data/generated/google/apis/games_management_v1management/classes.rb +524 -0
  153. data/generated/google/apis/games_management_v1management/representations.rb +231 -0
  154. data/generated/google/apis/games_management_v1management/service.rb +994 -0
  155. data/generated/google/apis/games_v1.rb +1 -1
  156. data/generated/google/apis/games_v1/classes.rb +39 -0
  157. data/generated/google/apis/games_v1/representations.rb +14 -0
  158. data/generated/google/apis/games_v1/service.rb +93 -109
  159. data/generated/google/apis/gan_v1beta1/service.rb +10 -20
  160. data/generated/google/apis/genomics_v1.rb +5 -3
  161. data/generated/google/apis/genomics_v1/classes.rb +519 -200
  162. data/generated/google/apis/genomics_v1/representations.rb +126 -13
  163. data/generated/google/apis/genomics_v1/service.rb +392 -236
  164. data/generated/google/apis/gmail_v1.rb +4 -1
  165. data/generated/google/apis/gmail_v1/service.rb +39 -71
  166. data/generated/google/apis/groupsmigration_v1/service.rb +2 -3
  167. data/generated/google/apis/groupssettings_v1/service.rb +3 -6
  168. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  169. data/generated/google/apis/identitytoolkit_v3/classes.rb +125 -0
  170. data/generated/google/apis/identitytoolkit_v3/representations.rb +37 -0
  171. data/generated/google/apis/identitytoolkit_v3/service.rb +44 -24
  172. data/generated/google/apis/kgsearch_v1.rb +32 -0
  173. data/generated/google/apis/kgsearch_v1/classes.rb +59 -0
  174. data/generated/google/apis/kgsearch_v1/representations.rb +39 -0
  175. data/generated/google/apis/kgsearch_v1/service.rb +111 -0
  176. data/generated/google/apis/licensing_v1.rb +1 -1
  177. data/generated/google/apis/licensing_v1/service.rb +7 -14
  178. data/generated/google/apis/logging_v1beta3.rb +16 -4
  179. data/generated/google/apis/logging_v1beta3/classes.rb +620 -46
  180. data/generated/google/apis/logging_v1beta3/representations.rb +144 -0
  181. data/generated/google/apis/logging_v1beta3/service.rb +435 -104
  182. data/generated/google/apis/manager_v1beta2.rb +3 -0
  183. data/generated/google/apis/manager_v1beta2/service.rb +8 -16
  184. data/generated/google/apis/mapsengine_v1.rb +1 -1
  185. data/generated/google/apis/mapsengine_v1/service.rb +85 -162
  186. data/generated/google/apis/mirror_v1.rb +1 -1
  187. data/generated/google/apis/mirror_v1/service.rb +28 -52
  188. data/generated/google/apis/oauth2_v2.rb +1 -1
  189. data/generated/google/apis/oauth2_v2/service.rb +4 -8
  190. data/generated/google/apis/pagespeedonline_v2/service.rb +1 -2
  191. data/generated/google/apis/partners_v2.rb +32 -0
  192. data/generated/google/apis/partners_v2/classes.rb +942 -0
  193. data/generated/google/apis/partners_v2/representations.rb +402 -0
  194. data/generated/google/apis/partners_v2/service.rb +400 -0
  195. data/generated/google/apis/plus_domains_v1.rb +1 -1
  196. data/generated/google/apis/plus_domains_v1/classes.rb +207 -0
  197. data/generated/google/apis/plus_domains_v1/representations.rb +114 -0
  198. data/generated/google/apis/plus_domains_v1/service.rb +21 -41
  199. data/generated/google/apis/plus_v1.rb +1 -1
  200. data/generated/google/apis/plus_v1/classes.rb +207 -0
  201. data/generated/google/apis/plus_v1/representations.rb +114 -0
  202. data/generated/google/apis/plus_v1/service.rb +11 -56
  203. data/generated/google/apis/prediction_v1_6.rb +1 -1
  204. data/generated/google/apis/prediction_v1_6/service.rb +8 -16
  205. data/generated/google/apis/proximitybeacon_v1beta1.rb +31 -0
  206. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +639 -0
  207. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +274 -0
  208. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +591 -0
  209. data/generated/google/apis/pubsub_v1.rb +37 -0
  210. data/generated/google/apis/pubsub_v1/classes.rb +614 -0
  211. data/generated/google/apis/pubsub_v1/representations.rb +281 -0
  212. data/generated/google/apis/pubsub_v1/service.rb +774 -0
  213. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  214. data/generated/google/apis/pubsub_v1beta2/classes.rb +78 -283
  215. data/generated/google/apis/pubsub_v1beta2/representations.rb +1 -85
  216. data/generated/google/apis/pubsub_v1beta2/service.rb +79 -87
  217. data/generated/google/apis/qpx_express_v1/service.rb +1 -2
  218. data/generated/google/apis/replicapool_v1beta2.rb +3 -0
  219. data/generated/google/apis/replicapool_v1beta2/service.rb +12 -24
  220. data/generated/google/apis/replicapoolupdater_v1beta1.rb +4 -1
  221. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +46 -2
  222. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +16 -0
  223. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +58 -18
  224. data/generated/google/apis/reseller_v1.rb +1 -1
  225. data/generated/google/apis/reseller_v1/classes.rb +19 -1
  226. data/generated/google/apis/reseller_v1/representations.rb +1 -0
  227. data/generated/google/apis/reseller_v1/service.rb +16 -30
  228. data/generated/google/apis/resourceviews_v1beta2.rb +3 -0
  229. data/generated/google/apis/resourceviews_v1beta2/service.rb +16 -27
  230. data/generated/google/apis/script_v1.rb +61 -0
  231. data/generated/google/apis/script_v1/classes.rb +259 -0
  232. data/generated/google/apis/script_v1/representations.rb +106 -0
  233. data/generated/google/apis/script_v1/service.rb +98 -0
  234. data/generated/google/apis/site_verification_v1.rb +1 -1
  235. data/generated/google/apis/site_verification_v1/service.rb +8 -15
  236. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  237. data/generated/google/apis/sqladmin_v1beta4/classes.rb +186 -2
  238. data/generated/google/apis/sqladmin_v1beta4/representations.rb +70 -0
  239. data/generated/google/apis/sqladmin_v1beta4/service.rb +166 -75
  240. data/generated/google/apis/storage_v1.rb +5 -2
  241. data/generated/google/apis/storage_v1/classes.rb +47 -4
  242. data/generated/google/apis/storage_v1/representations.rb +18 -0
  243. data/generated/google/apis/storage_v1/service.rb +77 -94
  244. data/generated/google/apis/storagetransfer_v1.rb +35 -0
  245. data/generated/google/apis/storagetransfer_v1/classes.rb +1046 -0
  246. data/generated/google/apis/storagetransfer_v1/representations.rb +370 -0
  247. data/generated/google/apis/storagetransfer_v1/service.rb +473 -0
  248. data/generated/google/apis/tagmanager_v1.rb +1 -1
  249. data/generated/google/apis/tagmanager_v1/classes.rb +189 -31
  250. data/generated/google/apis/tagmanager_v1/representations.rb +69 -15
  251. data/generated/google/apis/tagmanager_v1/service.rb +114 -275
  252. data/generated/google/apis/taskqueue_v1beta2/service.rb +8 -16
  253. data/generated/google/apis/tasks_v1/service.rb +14 -28
  254. data/generated/google/apis/translate_v2/service.rb +3 -6
  255. data/generated/google/apis/urlshortener_v1/service.rb +3 -6
  256. data/generated/google/apis/webmasters_v3.rb +3 -3
  257. data/generated/google/apis/webmasters_v3/classes.rb +4 -4
  258. data/generated/google/apis/webmasters_v3/service.rb +16 -30
  259. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  260. data/generated/google/apis/youtube_analytics_v1/classes.rb +6 -0
  261. data/generated/google/apis/youtube_analytics_v1/representations.rb +1 -0
  262. data/generated/google/apis/youtube_analytics_v1/service.rb +16 -21
  263. data/generated/google/apis/youtube_v3.rb +1 -1
  264. data/generated/google/apis/youtube_v3/classes.rb +111 -78
  265. data/generated/google/apis/youtube_v3/representations.rb +2 -0
  266. data/generated/google/apis/youtube_v3/service.rb +78 -246
  267. data/generated/google/apis/youtubereporting_v1.rb +38 -0
  268. data/generated/google/apis/youtubereporting_v1/classes.rb +258 -0
  269. data/generated/google/apis/youtubereporting_v1/representations.rb +128 -0
  270. data/generated/google/apis/youtubereporting_v1/service.rb +364 -0
  271. data/google-api-client.gemspec +3 -3
  272. data/lib/google/api_client/auth/installed_app.rb +2 -2
  273. data/lib/google/api_client/auth/key_utils.rb +1 -0
  274. data/lib/google/api_client/auth/storage.rb +1 -0
  275. data/lib/google/api_client/auth/storages/file_store.rb +1 -0
  276. data/lib/google/api_client/auth/storages/redis_store.rb +1 -0
  277. data/lib/google/api_client/client_secrets.rb +4 -5
  278. data/lib/google/apis/core/api_command.rb +2 -2
  279. data/lib/google/apis/core/base_service.rb +1 -0
  280. data/lib/google/apis/core/batch.rb +25 -8
  281. data/lib/google/apis/core/download.rb +1 -1
  282. data/lib/google/apis/core/http_command.rb +24 -12
  283. data/lib/google/apis/core/multipart.rb +20 -6
  284. data/lib/google/apis/core/upload.rb +11 -4
  285. data/lib/google/apis/generator/annotator.rb +29 -10
  286. data/lib/google/apis/generator/helpers.rb +1 -1
  287. data/lib/google/apis/generator/templates/_method.tmpl +5 -6
  288. data/lib/google/apis/options.rb +7 -3
  289. data/lib/google/apis/version.rb +1 -1
  290. data/samples/calendar/calendar.rb +1 -1
  291. data/samples/drive/drive.rb +9 -2
  292. data/samples/pubsub/pubsub.rb +5 -6
  293. data/samples/translate/translate.rb +1 -5
  294. data/script/generate +20 -5
  295. data/spec/fixtures/files/child/.gitignore +0 -0
  296. data/spec/fixtures/files/invalid.json +1 -0
  297. data/spec/google/api_client/client_secrets_spec.rb +38 -1
  298. data/spec/google/apis/core/batch_spec.rb +22 -8
  299. data/spec/google/apis/core/download_spec.rb +13 -0
  300. data/spec/google/apis/core/http_command_spec.rb +26 -9
  301. data/spec/google/apis/core/upload_spec.rb +65 -17
  302. data/spec/google/apis/options_spec.rb +8 -0
  303. data/spec/integration_tests/adsense_spec.rb +28 -0
  304. data/spec/integration_tests/pubsub_spec.rb +3 -3
  305. data/spec/spec_helper.rb +5 -1
  306. data/third_party/hurley_patches.rb +103 -0
  307. metadata +87 -7
@@ -0,0 +1,281 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module PubsubV1
24
+
25
+ class SetIamPolicyRequest
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+ end
28
+
29
+ class Policy
30
+ class Representation < Google::Apis::Core::JsonRepresentation; end
31
+ end
32
+
33
+ class Binding
34
+ class Representation < Google::Apis::Core::JsonRepresentation; end
35
+ end
36
+
37
+ class TestIamPermissionsRequest
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+ end
40
+
41
+ class TestIamPermissionsResponse
42
+ class Representation < Google::Apis::Core::JsonRepresentation; end
43
+ end
44
+
45
+ class Topic
46
+ class Representation < Google::Apis::Core::JsonRepresentation; end
47
+ end
48
+
49
+ class PublishRequest
50
+ class Representation < Google::Apis::Core::JsonRepresentation; end
51
+ end
52
+
53
+ class Message
54
+ class Representation < Google::Apis::Core::JsonRepresentation; end
55
+ end
56
+
57
+ class PublishResponse
58
+ class Representation < Google::Apis::Core::JsonRepresentation; end
59
+ end
60
+
61
+ class ListTopicsResponse
62
+ class Representation < Google::Apis::Core::JsonRepresentation; end
63
+ end
64
+
65
+ class ListTopicSubscriptionsResponse
66
+ class Representation < Google::Apis::Core::JsonRepresentation; end
67
+ end
68
+
69
+ class Empty
70
+ class Representation < Google::Apis::Core::JsonRepresentation; end
71
+ end
72
+
73
+ class Subscription
74
+ class Representation < Google::Apis::Core::JsonRepresentation; end
75
+ end
76
+
77
+ class PushConfig
78
+ class Representation < Google::Apis::Core::JsonRepresentation; end
79
+ end
80
+
81
+ class ListSubscriptionsResponse
82
+ class Representation < Google::Apis::Core::JsonRepresentation; end
83
+ end
84
+
85
+ class ModifyAckDeadlineRequest
86
+ class Representation < Google::Apis::Core::JsonRepresentation; end
87
+ end
88
+
89
+ class AcknowledgeRequest
90
+ class Representation < Google::Apis::Core::JsonRepresentation; end
91
+ end
92
+
93
+ class PullRequest
94
+ class Representation < Google::Apis::Core::JsonRepresentation; end
95
+ end
96
+
97
+ class PullResponse
98
+ class Representation < Google::Apis::Core::JsonRepresentation; end
99
+ end
100
+
101
+ class ReceivedMessage
102
+ class Representation < Google::Apis::Core::JsonRepresentation; end
103
+ end
104
+
105
+ class ModifyPushConfigRequest
106
+ class Representation < Google::Apis::Core::JsonRepresentation; end
107
+ end
108
+
109
+ class SetIamPolicyRequest
110
+ # @private
111
+ class Representation < Google::Apis::Core::JsonRepresentation
112
+ property :policy, as: 'policy', class: Google::Apis::PubsubV1::Policy, decorator: Google::Apis::PubsubV1::Policy::Representation
113
+
114
+ end
115
+ end
116
+
117
+ class Policy
118
+ # @private
119
+ class Representation < Google::Apis::Core::JsonRepresentation
120
+ property :version, as: 'version'
121
+ collection :bindings, as: 'bindings', class: Google::Apis::PubsubV1::Binding, decorator: Google::Apis::PubsubV1::Binding::Representation
122
+
123
+ property :etag, :base64 => true, as: 'etag'
124
+ end
125
+ end
126
+
127
+ class Binding
128
+ # @private
129
+ class Representation < Google::Apis::Core::JsonRepresentation
130
+ property :role, as: 'role'
131
+ collection :members, as: 'members'
132
+ end
133
+ end
134
+
135
+ class TestIamPermissionsRequest
136
+ # @private
137
+ class Representation < Google::Apis::Core::JsonRepresentation
138
+ collection :permissions, as: 'permissions'
139
+ end
140
+ end
141
+
142
+ class TestIamPermissionsResponse
143
+ # @private
144
+ class Representation < Google::Apis::Core::JsonRepresentation
145
+ collection :permissions, as: 'permissions'
146
+ end
147
+ end
148
+
149
+ class Topic
150
+ # @private
151
+ class Representation < Google::Apis::Core::JsonRepresentation
152
+ property :name, as: 'name'
153
+ end
154
+ end
155
+
156
+ class PublishRequest
157
+ # @private
158
+ class Representation < Google::Apis::Core::JsonRepresentation
159
+ collection :messages, as: 'messages', class: Google::Apis::PubsubV1::Message, decorator: Google::Apis::PubsubV1::Message::Representation
160
+
161
+ end
162
+ end
163
+
164
+ class Message
165
+ # @private
166
+ class Representation < Google::Apis::Core::JsonRepresentation
167
+ property :data, :base64 => true, as: 'data'
168
+ hash :attributes, as: 'attributes'
169
+ property :message_id, as: 'messageId'
170
+ property :publish_time, as: 'publishTime'
171
+ end
172
+ end
173
+
174
+ class PublishResponse
175
+ # @private
176
+ class Representation < Google::Apis::Core::JsonRepresentation
177
+ collection :message_ids, as: 'messageIds'
178
+ end
179
+ end
180
+
181
+ class ListTopicsResponse
182
+ # @private
183
+ class Representation < Google::Apis::Core::JsonRepresentation
184
+ collection :topics, as: 'topics', class: Google::Apis::PubsubV1::Topic, decorator: Google::Apis::PubsubV1::Topic::Representation
185
+
186
+ property :next_page_token, as: 'nextPageToken'
187
+ end
188
+ end
189
+
190
+ class ListTopicSubscriptionsResponse
191
+ # @private
192
+ class Representation < Google::Apis::Core::JsonRepresentation
193
+ collection :subscriptions, as: 'subscriptions'
194
+ property :next_page_token, as: 'nextPageToken'
195
+ end
196
+ end
197
+
198
+ class Empty
199
+ # @private
200
+ class Representation < Google::Apis::Core::JsonRepresentation
201
+ end
202
+ end
203
+
204
+ class Subscription
205
+ # @private
206
+ class Representation < Google::Apis::Core::JsonRepresentation
207
+ property :name, as: 'name'
208
+ property :topic, as: 'topic'
209
+ property :push_config, as: 'pushConfig', class: Google::Apis::PubsubV1::PushConfig, decorator: Google::Apis::PubsubV1::PushConfig::Representation
210
+
211
+ property :ack_deadline_seconds, as: 'ackDeadlineSeconds'
212
+ end
213
+ end
214
+
215
+ class PushConfig
216
+ # @private
217
+ class Representation < Google::Apis::Core::JsonRepresentation
218
+ property :push_endpoint, as: 'pushEndpoint'
219
+ hash :attributes, as: 'attributes'
220
+ end
221
+ end
222
+
223
+ class ListSubscriptionsResponse
224
+ # @private
225
+ class Representation < Google::Apis::Core::JsonRepresentation
226
+ collection :subscriptions, as: 'subscriptions', class: Google::Apis::PubsubV1::Subscription, decorator: Google::Apis::PubsubV1::Subscription::Representation
227
+
228
+ property :next_page_token, as: 'nextPageToken'
229
+ end
230
+ end
231
+
232
+ class ModifyAckDeadlineRequest
233
+ # @private
234
+ class Representation < Google::Apis::Core::JsonRepresentation
235
+ collection :ack_ids, as: 'ackIds'
236
+ property :ack_deadline_seconds, as: 'ackDeadlineSeconds'
237
+ end
238
+ end
239
+
240
+ class AcknowledgeRequest
241
+ # @private
242
+ class Representation < Google::Apis::Core::JsonRepresentation
243
+ collection :ack_ids, as: 'ackIds'
244
+ end
245
+ end
246
+
247
+ class PullRequest
248
+ # @private
249
+ class Representation < Google::Apis::Core::JsonRepresentation
250
+ property :return_immediately, as: 'returnImmediately'
251
+ property :max_messages, as: 'maxMessages'
252
+ end
253
+ end
254
+
255
+ class PullResponse
256
+ # @private
257
+ class Representation < Google::Apis::Core::JsonRepresentation
258
+ collection :received_messages, as: 'receivedMessages', class: Google::Apis::PubsubV1::ReceivedMessage, decorator: Google::Apis::PubsubV1::ReceivedMessage::Representation
259
+
260
+ end
261
+ end
262
+
263
+ class ReceivedMessage
264
+ # @private
265
+ class Representation < Google::Apis::Core::JsonRepresentation
266
+ property :ack_id, as: 'ackId'
267
+ property :message, as: 'message', class: Google::Apis::PubsubV1::Message, decorator: Google::Apis::PubsubV1::Message::Representation
268
+
269
+ end
270
+ end
271
+
272
+ class ModifyPushConfigRequest
273
+ # @private
274
+ class Representation < Google::Apis::Core::JsonRepresentation
275
+ property :push_config, as: 'pushConfig', class: Google::Apis::PubsubV1::PushConfig, decorator: Google::Apis::PubsubV1::PushConfig::Representation
276
+
277
+ end
278
+ end
279
+ end
280
+ end
281
+ end
@@ -0,0 +1,774 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/core/base_service'
16
+ require 'google/apis/core/json_representation'
17
+ require 'google/apis/core/hashable'
18
+ require 'google/apis/errors'
19
+
20
+ module Google
21
+ module Apis
22
+ module PubsubV1
23
+ # Google Cloud Pub/Sub API
24
+ #
25
+ # Provides reliable, many-to-many, asynchronous messaging between applications.
26
+ #
27
+ # @example
28
+ # require 'google/apis/pubsub_v1'
29
+ #
30
+ # Pubsub = Google::Apis::PubsubV1 # Alias the module
31
+ # service = Pubsub::PubsubService.new
32
+ #
33
+ # @see https://cloud.google.com/pubsub/docs
34
+ class PubsubService < Google::Apis::Core::BaseService
35
+ # @return [String]
36
+ # API key. Your API key identifies your project and provides you with API access,
37
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
38
+ attr_accessor :key
39
+
40
+ # @return [String]
41
+ # Available to use for quota purposes for server-side applications. Can be any
42
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
43
+ attr_accessor :quota_user
44
+
45
+ def initialize
46
+ super('https://pubsub.googleapis.com/', '')
47
+ end
48
+
49
+ # Sets the access control policy on the specified resource. Replaces any
50
+ # existing policy.
51
+ # @param [String] resource
52
+ # REQUIRED: The resource for which policy is being specified. `resource` is
53
+ # usually specified as a path, such as, `projects/`project`/zones/`zone`/disks/`
54
+ # disk``. The format for the path specified in this value is resource specific
55
+ # and is specified in the documentation for the respective SetIamPolicy rpc.
56
+ # @param [Google::Apis::PubsubV1::SetIamPolicyRequest] set_iam_policy_request_object
57
+ # @param [String] fields
58
+ # Selector specifying which fields to include in a partial response.
59
+ # @param [String] quota_user
60
+ # Available to use for quota purposes for server-side applications. Can be any
61
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
62
+ # @param [Google::Apis::RequestOptions] options
63
+ # Request-specific options
64
+ #
65
+ # @yield [result, err] Result & error if block supplied
66
+ # @yieldparam result [Google::Apis::PubsubV1::Policy] parsed result object
67
+ # @yieldparam err [StandardError] error object if request failed
68
+ #
69
+ # @return [Google::Apis::PubsubV1::Policy]
70
+ #
71
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
72
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
73
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
74
+ def set_topic_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
75
+ command = make_simple_command(:post, 'v1/{+resource}:setIamPolicy', options)
76
+ command.request_representation = Google::Apis::PubsubV1::SetIamPolicyRequest::Representation
77
+ command.request_object = set_iam_policy_request_object
78
+ command.response_representation = Google::Apis::PubsubV1::Policy::Representation
79
+ command.response_class = Google::Apis::PubsubV1::Policy
80
+ command.params['resource'] = resource unless resource.nil?
81
+ command.query['fields'] = fields unless fields.nil?
82
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
83
+ execute_or_queue_command(command, &block)
84
+ end
85
+
86
+ # Gets the access control policy for a `resource`. Is empty if the policy or the
87
+ # resource does not exist.
88
+ # @param [String] resource
89
+ # REQUIRED: The resource for which policy is being requested. `resource` is
90
+ # usually specified as a path, such as, `projects/`project`/zones/`zone`/disks/`
91
+ # disk``. The format for the path specified in this value is resource specific
92
+ # and is specified in the documentation for the respective GetIamPolicy rpc.
93
+ # @param [String] fields
94
+ # Selector specifying which fields to include in a partial response.
95
+ # @param [String] quota_user
96
+ # Available to use for quota purposes for server-side applications. Can be any
97
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
98
+ # @param [Google::Apis::RequestOptions] options
99
+ # Request-specific options
100
+ #
101
+ # @yield [result, err] Result & error if block supplied
102
+ # @yieldparam result [Google::Apis::PubsubV1::Policy] parsed result object
103
+ # @yieldparam err [StandardError] error object if request failed
104
+ #
105
+ # @return [Google::Apis::PubsubV1::Policy]
106
+ #
107
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
108
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
109
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
110
+ def get_project_topic_iam_policy(resource, fields: nil, quota_user: nil, options: nil, &block)
111
+ command = make_simple_command(:get, 'v1/{+resource}:getIamPolicy', options)
112
+ command.response_representation = Google::Apis::PubsubV1::Policy::Representation
113
+ command.response_class = Google::Apis::PubsubV1::Policy
114
+ command.params['resource'] = resource unless resource.nil?
115
+ command.query['fields'] = fields unless fields.nil?
116
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
117
+ execute_or_queue_command(command, &block)
118
+ end
119
+
120
+ # Returns permissions that a caller has on the specified resource.
121
+ # @param [String] resource
122
+ # REQUIRED: The resource for which policy detail is being requested. `resource`
123
+ # is usually specified as a path, such as, `projects/`project`/zones/`zone`/
124
+ # disks/`disk``. The format for the path specified in this value is resource
125
+ # specific and is specified in the documentation for the respective
126
+ # TestIamPermissions rpc.
127
+ # @param [Google::Apis::PubsubV1::TestIamPermissionsRequest] test_iam_permissions_request_object
128
+ # @param [String] fields
129
+ # Selector specifying which fields to include in a partial response.
130
+ # @param [String] quota_user
131
+ # Available to use for quota purposes for server-side applications. Can be any
132
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
133
+ # @param [Google::Apis::RequestOptions] options
134
+ # Request-specific options
135
+ #
136
+ # @yield [result, err] Result & error if block supplied
137
+ # @yieldparam result [Google::Apis::PubsubV1::TestIamPermissionsResponse] parsed result object
138
+ # @yieldparam err [StandardError] error object if request failed
139
+ #
140
+ # @return [Google::Apis::PubsubV1::TestIamPermissionsResponse]
141
+ #
142
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
143
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
144
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
145
+ def test_topic_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
146
+ command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options)
147
+ command.request_representation = Google::Apis::PubsubV1::TestIamPermissionsRequest::Representation
148
+ command.request_object = test_iam_permissions_request_object
149
+ command.response_representation = Google::Apis::PubsubV1::TestIamPermissionsResponse::Representation
150
+ command.response_class = Google::Apis::PubsubV1::TestIamPermissionsResponse
151
+ command.params['resource'] = resource unless resource.nil?
152
+ command.query['fields'] = fields unless fields.nil?
153
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
154
+ execute_or_queue_command(command, &block)
155
+ end
156
+
157
+ # Creates the given topic with the given name.
158
+ # @param [String] name
159
+ # The name of the topic. It must have the format `"projects/`project`/topics/`
160
+ # topic`"`. ``topic`` must start with a letter, and contain only letters (`[A-Za-
161
+ # z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`),
162
+ # tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255
163
+ # characters in length, and it must not start with `"goog"`.
164
+ # @param [Google::Apis::PubsubV1::Topic] topic_object
165
+ # @param [String] fields
166
+ # Selector specifying which fields to include in a partial response.
167
+ # @param [String] quota_user
168
+ # Available to use for quota purposes for server-side applications. Can be any
169
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
170
+ # @param [Google::Apis::RequestOptions] options
171
+ # Request-specific options
172
+ #
173
+ # @yield [result, err] Result & error if block supplied
174
+ # @yieldparam result [Google::Apis::PubsubV1::Topic] parsed result object
175
+ # @yieldparam err [StandardError] error object if request failed
176
+ #
177
+ # @return [Google::Apis::PubsubV1::Topic]
178
+ #
179
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
180
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
181
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
182
+ def create_topic(name, topic_object = nil, fields: nil, quota_user: nil, options: nil, &block)
183
+ command = make_simple_command(:put, 'v1/{+name}', options)
184
+ command.request_representation = Google::Apis::PubsubV1::Topic::Representation
185
+ command.request_object = topic_object
186
+ command.response_representation = Google::Apis::PubsubV1::Topic::Representation
187
+ command.response_class = Google::Apis::PubsubV1::Topic
188
+ command.params['name'] = name unless name.nil?
189
+ command.query['fields'] = fields unless fields.nil?
190
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
191
+ execute_or_queue_command(command, &block)
192
+ end
193
+
194
+ # Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic does
195
+ # not exist. The message payload must not be empty; it must contain either a non-
196
+ # empty data field, or at least one attribute.
197
+ # @param [String] topic
198
+ # The messages in the request will be published on this topic.
199
+ # @param [Google::Apis::PubsubV1::PublishRequest] publish_request_object
200
+ # @param [String] fields
201
+ # Selector specifying which fields to include in a partial response.
202
+ # @param [String] quota_user
203
+ # Available to use for quota purposes for server-side applications. Can be any
204
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
205
+ # @param [Google::Apis::RequestOptions] options
206
+ # Request-specific options
207
+ #
208
+ # @yield [result, err] Result & error if block supplied
209
+ # @yieldparam result [Google::Apis::PubsubV1::PublishResponse] parsed result object
210
+ # @yieldparam err [StandardError] error object if request failed
211
+ #
212
+ # @return [Google::Apis::PubsubV1::PublishResponse]
213
+ #
214
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
215
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
216
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
217
+ def publish_topic(topic, publish_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
218
+ command = make_simple_command(:post, 'v1/{+topic}:publish', options)
219
+ command.request_representation = Google::Apis::PubsubV1::PublishRequest::Representation
220
+ command.request_object = publish_request_object
221
+ command.response_representation = Google::Apis::PubsubV1::PublishResponse::Representation
222
+ command.response_class = Google::Apis::PubsubV1::PublishResponse
223
+ command.params['topic'] = topic unless topic.nil?
224
+ command.query['fields'] = fields unless fields.nil?
225
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
226
+ execute_or_queue_command(command, &block)
227
+ end
228
+
229
+ # Gets the configuration of a topic.
230
+ # @param [String] topic
231
+ # The name of the topic to get.
232
+ # @param [String] fields
233
+ # Selector specifying which fields to include in a partial response.
234
+ # @param [String] quota_user
235
+ # Available to use for quota purposes for server-side applications. Can be any
236
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
237
+ # @param [Google::Apis::RequestOptions] options
238
+ # Request-specific options
239
+ #
240
+ # @yield [result, err] Result & error if block supplied
241
+ # @yieldparam result [Google::Apis::PubsubV1::Topic] parsed result object
242
+ # @yieldparam err [StandardError] error object if request failed
243
+ #
244
+ # @return [Google::Apis::PubsubV1::Topic]
245
+ #
246
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
247
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
248
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
249
+ def get_topic(topic, fields: nil, quota_user: nil, options: nil, &block)
250
+ command = make_simple_command(:get, 'v1/{+topic}', options)
251
+ command.response_representation = Google::Apis::PubsubV1::Topic::Representation
252
+ command.response_class = Google::Apis::PubsubV1::Topic
253
+ command.params['topic'] = topic unless topic.nil?
254
+ command.query['fields'] = fields unless fields.nil?
255
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
256
+ execute_or_queue_command(command, &block)
257
+ end
258
+
259
+ # Lists matching topics.
260
+ # @param [String] project
261
+ # The name of the cloud project that topics belong to.
262
+ # @param [Fixnum] page_size
263
+ # Maximum number of topics to return.
264
+ # @param [String] page_token
265
+ # The value returned by the last `ListTopicsResponse`; indicates that this is a
266
+ # continuation of a prior `ListTopics` call, and that the system should return
267
+ # the next page of data.
268
+ # @param [String] fields
269
+ # Selector specifying which fields to include in a partial response.
270
+ # @param [String] quota_user
271
+ # Available to use for quota purposes for server-side applications. Can be any
272
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
273
+ # @param [Google::Apis::RequestOptions] options
274
+ # Request-specific options
275
+ #
276
+ # @yield [result, err] Result & error if block supplied
277
+ # @yieldparam result [Google::Apis::PubsubV1::ListTopicsResponse] parsed result object
278
+ # @yieldparam err [StandardError] error object if request failed
279
+ #
280
+ # @return [Google::Apis::PubsubV1::ListTopicsResponse]
281
+ #
282
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
283
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
284
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
285
+ def list_topics(project, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
286
+ command = make_simple_command(:get, 'v1/{+project}/topics', options)
287
+ command.response_representation = Google::Apis::PubsubV1::ListTopicsResponse::Representation
288
+ command.response_class = Google::Apis::PubsubV1::ListTopicsResponse
289
+ command.params['project'] = project unless project.nil?
290
+ command.query['pageSize'] = page_size unless page_size.nil?
291
+ command.query['pageToken'] = page_token unless page_token.nil?
292
+ command.query['fields'] = fields unless fields.nil?
293
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
294
+ execute_or_queue_command(command, &block)
295
+ end
296
+
297
+ # Deletes the topic with the given name. Returns `NOT_FOUND` if the topic does
298
+ # not exist. After a topic is deleted, a new topic may be created with the same
299
+ # name; this is an entirely new topic with none of the old configuration or
300
+ # subscriptions. Existing subscriptions to this topic are not deleted, but their
301
+ # `topic` field is set to `_deleted-topic_`.
302
+ # @param [String] topic
303
+ # Name of the topic to delete.
304
+ # @param [String] fields
305
+ # Selector specifying which fields to include in a partial response.
306
+ # @param [String] quota_user
307
+ # Available to use for quota purposes for server-side applications. Can be any
308
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
309
+ # @param [Google::Apis::RequestOptions] options
310
+ # Request-specific options
311
+ #
312
+ # @yield [result, err] Result & error if block supplied
313
+ # @yieldparam result [Google::Apis::PubsubV1::Empty] parsed result object
314
+ # @yieldparam err [StandardError] error object if request failed
315
+ #
316
+ # @return [Google::Apis::PubsubV1::Empty]
317
+ #
318
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
319
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
320
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
321
+ def delete_topic(topic, fields: nil, quota_user: nil, options: nil, &block)
322
+ command = make_simple_command(:delete, 'v1/{+topic}', options)
323
+ command.response_representation = Google::Apis::PubsubV1::Empty::Representation
324
+ command.response_class = Google::Apis::PubsubV1::Empty
325
+ command.params['topic'] = topic unless topic.nil?
326
+ command.query['fields'] = fields unless fields.nil?
327
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
328
+ execute_or_queue_command(command, &block)
329
+ end
330
+
331
+ # Lists the name of the subscriptions for this topic.
332
+ # @param [String] topic
333
+ # The name of the topic that subscriptions are attached to.
334
+ # @param [Fixnum] page_size
335
+ # Maximum number of subscription names to return.
336
+ # @param [String] page_token
337
+ # The value returned by the last `ListTopicSubscriptionsResponse`; indicates
338
+ # that this is a continuation of a prior `ListTopicSubscriptions` call, and that
339
+ # the system should return the next page of data.
340
+ # @param [String] fields
341
+ # Selector specifying which fields to include in a partial response.
342
+ # @param [String] quota_user
343
+ # Available to use for quota purposes for server-side applications. Can be any
344
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
345
+ # @param [Google::Apis::RequestOptions] options
346
+ # Request-specific options
347
+ #
348
+ # @yield [result, err] Result & error if block supplied
349
+ # @yieldparam result [Google::Apis::PubsubV1::ListTopicSubscriptionsResponse] parsed result object
350
+ # @yieldparam err [StandardError] error object if request failed
351
+ #
352
+ # @return [Google::Apis::PubsubV1::ListTopicSubscriptionsResponse]
353
+ #
354
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
355
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
356
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
357
+ def list_topic_subscriptions(topic, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
358
+ command = make_simple_command(:get, 'v1/{+topic}/subscriptions', options)
359
+ command.response_representation = Google::Apis::PubsubV1::ListTopicSubscriptionsResponse::Representation
360
+ command.response_class = Google::Apis::PubsubV1::ListTopicSubscriptionsResponse
361
+ command.params['topic'] = topic unless topic.nil?
362
+ command.query['pageSize'] = page_size unless page_size.nil?
363
+ command.query['pageToken'] = page_token unless page_token.nil?
364
+ command.query['fields'] = fields unless fields.nil?
365
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
366
+ execute_or_queue_command(command, &block)
367
+ end
368
+
369
+ # Sets the access control policy on the specified resource. Replaces any
370
+ # existing policy.
371
+ # @param [String] resource
372
+ # REQUIRED: The resource for which policy is being specified. `resource` is
373
+ # usually specified as a path, such as, `projects/`project`/zones/`zone`/disks/`
374
+ # disk``. The format for the path specified in this value is resource specific
375
+ # and is specified in the documentation for the respective SetIamPolicy rpc.
376
+ # @param [Google::Apis::PubsubV1::SetIamPolicyRequest] set_iam_policy_request_object
377
+ # @param [String] fields
378
+ # Selector specifying which fields to include in a partial response.
379
+ # @param [String] quota_user
380
+ # Available to use for quota purposes for server-side applications. Can be any
381
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
382
+ # @param [Google::Apis::RequestOptions] options
383
+ # Request-specific options
384
+ #
385
+ # @yield [result, err] Result & error if block supplied
386
+ # @yieldparam result [Google::Apis::PubsubV1::Policy] parsed result object
387
+ # @yieldparam err [StandardError] error object if request failed
388
+ #
389
+ # @return [Google::Apis::PubsubV1::Policy]
390
+ #
391
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
392
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
393
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
394
+ def set_subscription_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
395
+ command = make_simple_command(:post, 'v1/{+resource}:setIamPolicy', options)
396
+ command.request_representation = Google::Apis::PubsubV1::SetIamPolicyRequest::Representation
397
+ command.request_object = set_iam_policy_request_object
398
+ command.response_representation = Google::Apis::PubsubV1::Policy::Representation
399
+ command.response_class = Google::Apis::PubsubV1::Policy
400
+ command.params['resource'] = resource unless resource.nil?
401
+ command.query['fields'] = fields unless fields.nil?
402
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
403
+ execute_or_queue_command(command, &block)
404
+ end
405
+
406
+ # Gets the access control policy for a `resource`. Is empty if the policy or the
407
+ # resource does not exist.
408
+ # @param [String] resource
409
+ # REQUIRED: The resource for which policy is being requested. `resource` is
410
+ # usually specified as a path, such as, `projects/`project`/zones/`zone`/disks/`
411
+ # disk``. The format for the path specified in this value is resource specific
412
+ # and is specified in the documentation for the respective GetIamPolicy rpc.
413
+ # @param [String] fields
414
+ # Selector specifying which fields to include in a partial response.
415
+ # @param [String] quota_user
416
+ # Available to use for quota purposes for server-side applications. Can be any
417
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
418
+ # @param [Google::Apis::RequestOptions] options
419
+ # Request-specific options
420
+ #
421
+ # @yield [result, err] Result & error if block supplied
422
+ # @yieldparam result [Google::Apis::PubsubV1::Policy] parsed result object
423
+ # @yieldparam err [StandardError] error object if request failed
424
+ #
425
+ # @return [Google::Apis::PubsubV1::Policy]
426
+ #
427
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
428
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
429
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
430
+ def get_project_subscription_iam_policy(resource, fields: nil, quota_user: nil, options: nil, &block)
431
+ command = make_simple_command(:get, 'v1/{+resource}:getIamPolicy', options)
432
+ command.response_representation = Google::Apis::PubsubV1::Policy::Representation
433
+ command.response_class = Google::Apis::PubsubV1::Policy
434
+ command.params['resource'] = resource unless resource.nil?
435
+ command.query['fields'] = fields unless fields.nil?
436
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
437
+ execute_or_queue_command(command, &block)
438
+ end
439
+
440
+ # Returns permissions that a caller has on the specified resource.
441
+ # @param [String] resource
442
+ # REQUIRED: The resource for which policy detail is being requested. `resource`
443
+ # is usually specified as a path, such as, `projects/`project`/zones/`zone`/
444
+ # disks/`disk``. The format for the path specified in this value is resource
445
+ # specific and is specified in the documentation for the respective
446
+ # TestIamPermissions rpc.
447
+ # @param [Google::Apis::PubsubV1::TestIamPermissionsRequest] test_iam_permissions_request_object
448
+ # @param [String] fields
449
+ # Selector specifying which fields to include in a partial response.
450
+ # @param [String] quota_user
451
+ # Available to use for quota purposes for server-side applications. Can be any
452
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
453
+ # @param [Google::Apis::RequestOptions] options
454
+ # Request-specific options
455
+ #
456
+ # @yield [result, err] Result & error if block supplied
457
+ # @yieldparam result [Google::Apis::PubsubV1::TestIamPermissionsResponse] parsed result object
458
+ # @yieldparam err [StandardError] error object if request failed
459
+ #
460
+ # @return [Google::Apis::PubsubV1::TestIamPermissionsResponse]
461
+ #
462
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
463
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
464
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
465
+ def test_subscription_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
466
+ command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options)
467
+ command.request_representation = Google::Apis::PubsubV1::TestIamPermissionsRequest::Representation
468
+ command.request_object = test_iam_permissions_request_object
469
+ command.response_representation = Google::Apis::PubsubV1::TestIamPermissionsResponse::Representation
470
+ command.response_class = Google::Apis::PubsubV1::TestIamPermissionsResponse
471
+ command.params['resource'] = resource unless resource.nil?
472
+ command.query['fields'] = fields unless fields.nil?
473
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
474
+ execute_or_queue_command(command, &block)
475
+ end
476
+
477
+ # Creates a subscription to a given topic for a given subscriber. If the
478
+ # subscription already exists, returns `ALREADY_EXISTS`. If the corresponding
479
+ # topic doesn't exist, returns `NOT_FOUND`. If the name is not provided in the
480
+ # request, the server will assign a random name for this subscription on the
481
+ # same project as the topic.
482
+ # @param [String] name
483
+ # The name of the subscription. It must have the format `"projects/`project`/
484
+ # subscriptions/`subscription`"`. ``subscription`` must start with a letter, and
485
+ # contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
486
+ # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%
487
+ # `). It must be between 3 and 255 characters in length, and it must not start
488
+ # with `"goog"`.
489
+ # @param [Google::Apis::PubsubV1::Subscription] subscription_object
490
+ # @param [String] fields
491
+ # Selector specifying which fields to include in a partial response.
492
+ # @param [String] quota_user
493
+ # Available to use for quota purposes for server-side applications. Can be any
494
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
495
+ # @param [Google::Apis::RequestOptions] options
496
+ # Request-specific options
497
+ #
498
+ # @yield [result, err] Result & error if block supplied
499
+ # @yieldparam result [Google::Apis::PubsubV1::Subscription] parsed result object
500
+ # @yieldparam err [StandardError] error object if request failed
501
+ #
502
+ # @return [Google::Apis::PubsubV1::Subscription]
503
+ #
504
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
505
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
506
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
507
+ def create_subscription(name, subscription_object = nil, fields: nil, quota_user: nil, options: nil, &block)
508
+ command = make_simple_command(:put, 'v1/{+name}', options)
509
+ command.request_representation = Google::Apis::PubsubV1::Subscription::Representation
510
+ command.request_object = subscription_object
511
+ command.response_representation = Google::Apis::PubsubV1::Subscription::Representation
512
+ command.response_class = Google::Apis::PubsubV1::Subscription
513
+ command.params['name'] = name unless name.nil?
514
+ command.query['fields'] = fields unless fields.nil?
515
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
516
+ execute_or_queue_command(command, &block)
517
+ end
518
+
519
+ # Gets the configuration details of a subscription.
520
+ # @param [String] subscription
521
+ # The name of the subscription to get.
522
+ # @param [String] fields
523
+ # Selector specifying which fields to include in a partial response.
524
+ # @param [String] quota_user
525
+ # Available to use for quota purposes for server-side applications. Can be any
526
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
527
+ # @param [Google::Apis::RequestOptions] options
528
+ # Request-specific options
529
+ #
530
+ # @yield [result, err] Result & error if block supplied
531
+ # @yieldparam result [Google::Apis::PubsubV1::Subscription] parsed result object
532
+ # @yieldparam err [StandardError] error object if request failed
533
+ #
534
+ # @return [Google::Apis::PubsubV1::Subscription]
535
+ #
536
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
537
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
538
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
539
+ def get_subscription(subscription, fields: nil, quota_user: nil, options: nil, &block)
540
+ command = make_simple_command(:get, 'v1/{+subscription}', options)
541
+ command.response_representation = Google::Apis::PubsubV1::Subscription::Representation
542
+ command.response_class = Google::Apis::PubsubV1::Subscription
543
+ command.params['subscription'] = subscription unless subscription.nil?
544
+ command.query['fields'] = fields unless fields.nil?
545
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
546
+ execute_or_queue_command(command, &block)
547
+ end
548
+
549
+ # Lists matching subscriptions.
550
+ # @param [String] project
551
+ # The name of the cloud project that subscriptions belong to.
552
+ # @param [Fixnum] page_size
553
+ # Maximum number of subscriptions to return.
554
+ # @param [String] page_token
555
+ # The value returned by the last `ListSubscriptionsResponse`; indicates that
556
+ # this is a continuation of a prior `ListSubscriptions` call, and that the
557
+ # system should return the next page of data.
558
+ # @param [String] fields
559
+ # Selector specifying which fields to include in a partial response.
560
+ # @param [String] quota_user
561
+ # Available to use for quota purposes for server-side applications. Can be any
562
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
563
+ # @param [Google::Apis::RequestOptions] options
564
+ # Request-specific options
565
+ #
566
+ # @yield [result, err] Result & error if block supplied
567
+ # @yieldparam result [Google::Apis::PubsubV1::ListSubscriptionsResponse] parsed result object
568
+ # @yieldparam err [StandardError] error object if request failed
569
+ #
570
+ # @return [Google::Apis::PubsubV1::ListSubscriptionsResponse]
571
+ #
572
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
573
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
574
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
575
+ def list_subscriptions(project, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
576
+ command = make_simple_command(:get, 'v1/{+project}/subscriptions', options)
577
+ command.response_representation = Google::Apis::PubsubV1::ListSubscriptionsResponse::Representation
578
+ command.response_class = Google::Apis::PubsubV1::ListSubscriptionsResponse
579
+ command.params['project'] = project unless project.nil?
580
+ command.query['pageSize'] = page_size unless page_size.nil?
581
+ command.query['pageToken'] = page_token unless page_token.nil?
582
+ command.query['fields'] = fields unless fields.nil?
583
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
584
+ execute_or_queue_command(command, &block)
585
+ end
586
+
587
+ # Deletes an existing subscription. All pending messages in the subscription are
588
+ # immediately dropped. Calls to `Pull` after deletion will return `NOT_FOUND`.
589
+ # After a subscription is deleted, a new one may be created with the same name,
590
+ # but the new one has no association with the old subscription, or its topic
591
+ # unless the same topic is specified.
592
+ # @param [String] subscription
593
+ # The subscription to delete.
594
+ # @param [String] fields
595
+ # Selector specifying which fields to include in a partial response.
596
+ # @param [String] quota_user
597
+ # Available to use for quota purposes for server-side applications. Can be any
598
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
599
+ # @param [Google::Apis::RequestOptions] options
600
+ # Request-specific options
601
+ #
602
+ # @yield [result, err] Result & error if block supplied
603
+ # @yieldparam result [Google::Apis::PubsubV1::Empty] parsed result object
604
+ # @yieldparam err [StandardError] error object if request failed
605
+ #
606
+ # @return [Google::Apis::PubsubV1::Empty]
607
+ #
608
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
609
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
610
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
611
+ def delete_subscription(subscription, fields: nil, quota_user: nil, options: nil, &block)
612
+ command = make_simple_command(:delete, 'v1/{+subscription}', options)
613
+ command.response_representation = Google::Apis::PubsubV1::Empty::Representation
614
+ command.response_class = Google::Apis::PubsubV1::Empty
615
+ command.params['subscription'] = subscription unless subscription.nil?
616
+ command.query['fields'] = fields unless fields.nil?
617
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
618
+ execute_or_queue_command(command, &block)
619
+ end
620
+
621
+ # Modifies the ack deadline for a specific message. This method is useful to
622
+ # indicate that more time is needed to process a message by the subscriber, or
623
+ # to make the message available for redelivery if the processing was interrupted.
624
+ # @param [String] subscription
625
+ # The name of the subscription.
626
+ # @param [Google::Apis::PubsubV1::ModifyAckDeadlineRequest] modify_ack_deadline_request_object
627
+ # @param [String] fields
628
+ # Selector specifying which fields to include in a partial response.
629
+ # @param [String] quota_user
630
+ # Available to use for quota purposes for server-side applications. Can be any
631
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
632
+ # @param [Google::Apis::RequestOptions] options
633
+ # Request-specific options
634
+ #
635
+ # @yield [result, err] Result & error if block supplied
636
+ # @yieldparam result [Google::Apis::PubsubV1::Empty] parsed result object
637
+ # @yieldparam err [StandardError] error object if request failed
638
+ #
639
+ # @return [Google::Apis::PubsubV1::Empty]
640
+ #
641
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
642
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
643
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
644
+ def modify_subscription_ack_deadline(subscription, modify_ack_deadline_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
645
+ command = make_simple_command(:post, 'v1/{+subscription}:modifyAckDeadline', options)
646
+ command.request_representation = Google::Apis::PubsubV1::ModifyAckDeadlineRequest::Representation
647
+ command.request_object = modify_ack_deadline_request_object
648
+ command.response_representation = Google::Apis::PubsubV1::Empty::Representation
649
+ command.response_class = Google::Apis::PubsubV1::Empty
650
+ command.params['subscription'] = subscription unless subscription.nil?
651
+ command.query['fields'] = fields unless fields.nil?
652
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
653
+ execute_or_queue_command(command, &block)
654
+ end
655
+
656
+ # Acknowledges the messages associated with the `ack_ids` in the `
657
+ # AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages from
658
+ # the subscription. Acknowledging a message whose ack deadline has expired may
659
+ # succeed, but such a message may be redelivered later. Acknowledging a message
660
+ # more than once will not result in an error.
661
+ # @param [String] subscription
662
+ # The subscription whose message is being acknowledged.
663
+ # @param [Google::Apis::PubsubV1::AcknowledgeRequest] acknowledge_request_object
664
+ # @param [String] fields
665
+ # Selector specifying which fields to include in a partial response.
666
+ # @param [String] quota_user
667
+ # Available to use for quota purposes for server-side applications. Can be any
668
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
669
+ # @param [Google::Apis::RequestOptions] options
670
+ # Request-specific options
671
+ #
672
+ # @yield [result, err] Result & error if block supplied
673
+ # @yieldparam result [Google::Apis::PubsubV1::Empty] parsed result object
674
+ # @yieldparam err [StandardError] error object if request failed
675
+ #
676
+ # @return [Google::Apis::PubsubV1::Empty]
677
+ #
678
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
679
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
680
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
681
+ def acknowledge_subscription(subscription, acknowledge_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
682
+ command = make_simple_command(:post, 'v1/{+subscription}:acknowledge', options)
683
+ command.request_representation = Google::Apis::PubsubV1::AcknowledgeRequest::Representation
684
+ command.request_object = acknowledge_request_object
685
+ command.response_representation = Google::Apis::PubsubV1::Empty::Representation
686
+ command.response_class = Google::Apis::PubsubV1::Empty
687
+ command.params['subscription'] = subscription unless subscription.nil?
688
+ command.query['fields'] = fields unless fields.nil?
689
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
690
+ execute_or_queue_command(command, &block)
691
+ end
692
+
693
+ # Pulls messages from the server. Returns an empty list if there are no messages
694
+ # available in the backlog. The server may return `UNAVAILABLE` if there are too
695
+ # many concurrent pull requests pending for the given subscription.
696
+ # @param [String] subscription
697
+ # The subscription from which messages should be pulled.
698
+ # @param [Google::Apis::PubsubV1::PullRequest] pull_request_object
699
+ # @param [String] fields
700
+ # Selector specifying which fields to include in a partial response.
701
+ # @param [String] quota_user
702
+ # Available to use for quota purposes for server-side applications. Can be any
703
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
704
+ # @param [Google::Apis::RequestOptions] options
705
+ # Request-specific options
706
+ #
707
+ # @yield [result, err] Result & error if block supplied
708
+ # @yieldparam result [Google::Apis::PubsubV1::PullResponse] parsed result object
709
+ # @yieldparam err [StandardError] error object if request failed
710
+ #
711
+ # @return [Google::Apis::PubsubV1::PullResponse]
712
+ #
713
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
714
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
715
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
716
+ def pull_subscription(subscription, pull_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
717
+ command = make_simple_command(:post, 'v1/{+subscription}:pull', options)
718
+ command.request_representation = Google::Apis::PubsubV1::PullRequest::Representation
719
+ command.request_object = pull_request_object
720
+ command.response_representation = Google::Apis::PubsubV1::PullResponse::Representation
721
+ command.response_class = Google::Apis::PubsubV1::PullResponse
722
+ command.params['subscription'] = subscription unless subscription.nil?
723
+ command.query['fields'] = fields unless fields.nil?
724
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
725
+ execute_or_queue_command(command, &block)
726
+ end
727
+
728
+ # Modifies the `PushConfig` for a specified subscription. This may be used to
729
+ # change a push subscription to a pull one (signified by an empty `PushConfig`)
730
+ # or vice versa, or change the endpoint URL and other attributes of a push
731
+ # subscription. Messages will accumulate for delivery continuously through the
732
+ # call regardless of changes to the `PushConfig`.
733
+ # @param [String] subscription
734
+ # The name of the subscription.
735
+ # @param [Google::Apis::PubsubV1::ModifyPushConfigRequest] modify_push_config_request_object
736
+ # @param [String] fields
737
+ # Selector specifying which fields to include in a partial response.
738
+ # @param [String] quota_user
739
+ # Available to use for quota purposes for server-side applications. Can be any
740
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
741
+ # @param [Google::Apis::RequestOptions] options
742
+ # Request-specific options
743
+ #
744
+ # @yield [result, err] Result & error if block supplied
745
+ # @yieldparam result [Google::Apis::PubsubV1::Empty] parsed result object
746
+ # @yieldparam err [StandardError] error object if request failed
747
+ #
748
+ # @return [Google::Apis::PubsubV1::Empty]
749
+ #
750
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
751
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
752
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
753
+ def modify_subscription_push_config(subscription, modify_push_config_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
754
+ command = make_simple_command(:post, 'v1/{+subscription}:modifyPushConfig', options)
755
+ command.request_representation = Google::Apis::PubsubV1::ModifyPushConfigRequest::Representation
756
+ command.request_object = modify_push_config_request_object
757
+ command.response_representation = Google::Apis::PubsubV1::Empty::Representation
758
+ command.response_class = Google::Apis::PubsubV1::Empty
759
+ command.params['subscription'] = subscription unless subscription.nil?
760
+ command.query['fields'] = fields unless fields.nil?
761
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
762
+ execute_or_queue_command(command, &block)
763
+ end
764
+
765
+ protected
766
+
767
+ def apply_command_defaults(command)
768
+ command.query['key'] = key unless key.nil?
769
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
770
+ end
771
+ end
772
+ end
773
+ end
774
+ end