google-api-client 0.9.8 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +15 -8
  3. data/CHANGELOG.md +84 -0
  4. data/Gemfile +10 -2
  5. data/README.md +10 -2
  6. data/api_names.yaml +37172 -135
  7. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +35 -0
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +1200 -0
  9. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +526 -0
  10. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +844 -0
  11. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  12. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +310 -28
  13. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +84 -0
  14. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +60 -8
  15. data/generated/google/apis/adexchangeseller_v2_0.rb +2 -3
  16. data/generated/google/apis/adexchangeseller_v2_0/service.rb +1 -2
  17. data/generated/google/apis/admin_directory_v1.rb +1 -1
  18. data/generated/google/apis/admin_directory_v1/classes.rb +206 -0
  19. data/generated/google/apis/admin_directory_v1/representations.rb +63 -0
  20. data/generated/google/apis/admin_directory_v1/service.rb +41 -2
  21. data/generated/google/apis/admin_reports_v1.rb +5 -5
  22. data/generated/google/apis/admin_reports_v1/service.rb +6 -6
  23. data/generated/google/apis/adsense_v1_4.rb +1 -1
  24. data/generated/google/apis/adsense_v1_4/classes.rb +1 -1
  25. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  26. data/generated/google/apis/adsensehost_v4_1/classes.rb +1 -2
  27. data/generated/google/apis/analytics_v3.rb +1 -1
  28. data/generated/google/apis/analytics_v3/classes.rb +379 -3
  29. data/generated/google/apis/analytics_v3/representations.rb +136 -0
  30. data/generated/google/apis/analytics_v3/service.rb +256 -0
  31. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  32. data/generated/google/apis/analyticsreporting_v4/classes.rb +858 -823
  33. data/generated/google/apis/analyticsreporting_v4/representations.rb +194 -193
  34. data/generated/google/apis/analyticsreporting_v4/service.rb +4 -4
  35. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  36. data/generated/google/apis/androidenterprise_v1/classes.rb +913 -220
  37. data/generated/google/apis/androidenterprise_v1/representations.rb +337 -30
  38. data/generated/google/apis/androidenterprise_v1/service.rb +1163 -561
  39. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  40. data/generated/google/apis/androidpublisher_v2/classes.rb +230 -8
  41. data/generated/google/apis/androidpublisher_v2/representations.rb +90 -0
  42. data/generated/google/apis/androidpublisher_v2/service.rb +116 -3
  43. data/generated/google/apis/appengine_v1beta5.rb +7 -1
  44. data/generated/google/apis/appengine_v1beta5/classes.rb +810 -395
  45. data/generated/google/apis/appengine_v1beta5/representations.rb +188 -22
  46. data/generated/google/apis/appengine_v1beta5/service.rb +343 -39
  47. data/generated/google/apis/appsactivity_v1.rb +3 -3
  48. data/generated/google/apis/appsactivity_v1/classes.rb +7 -0
  49. data/generated/google/apis/appsactivity_v1/representations.rb +1 -0
  50. data/generated/google/apis/appsactivity_v1/service.rb +1 -1
  51. data/generated/google/apis/appstate_v1.rb +1 -1
  52. data/generated/google/apis/bigquery_v2.rb +1 -1
  53. data/generated/google/apis/bigquery_v2/classes.rb +360 -38
  54. data/generated/google/apis/bigquery_v2/representations.rb +106 -0
  55. data/generated/google/apis/bigquery_v2/service.rb +18 -4
  56. data/generated/google/apis/books_v1.rb +2 -2
  57. data/generated/google/apis/books_v1/classes.rb +83 -0
  58. data/generated/google/apis/books_v1/representations.rb +35 -0
  59. data/generated/google/apis/books_v1/service.rb +7 -3
  60. data/generated/google/apis/calendar_v3.rb +1 -1
  61. data/generated/google/apis/calendar_v3/classes.rb +208 -5
  62. data/generated/google/apis/calendar_v3/representations.rb +97 -0
  63. data/generated/google/apis/civicinfo_v2.rb +3 -2
  64. data/generated/google/apis/civicinfo_v2/classes.rb +377 -5
  65. data/generated/google/apis/civicinfo_v2/representations.rb +149 -0
  66. data/generated/google/apis/civicinfo_v2/service.rb +27 -6
  67. data/generated/google/apis/classroom_v1.rb +22 -25
  68. data/generated/google/apis/classroom_v1/classes.rb +998 -761
  69. data/generated/google/apis/classroom_v1/representations.rb +263 -198
  70. data/generated/google/apis/classroom_v1/service.rb +1349 -672
  71. data/generated/google/apis/cloudbilling_v1.rb +3 -3
  72. data/generated/google/apis/cloudbilling_v1/classes.rb +76 -75
  73. data/generated/google/apis/cloudbilling_v1/representations.rb +17 -17
  74. data/generated/google/apis/cloudbilling_v1/service.rb +117 -110
  75. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  76. data/generated/google/apis/cloudbuild_v1/classes.rb +661 -264
  77. data/generated/google/apis/cloudbuild_v1/representations.rb +198 -48
  78. data/generated/google/apis/cloudbuild_v1/service.rb +259 -44
  79. data/generated/google/apis/clouddebugger_v2.rb +5 -8
  80. data/generated/google/apis/clouddebugger_v2/classes.rb +686 -616
  81. data/generated/google/apis/clouddebugger_v2/representations.rb +151 -151
  82. data/generated/google/apis/clouddebugger_v2/service.rb +165 -159
  83. data/generated/google/apis/cloudkms_v1.rb +35 -0
  84. data/generated/google/apis/cloudkms_v1/classes.rb +1022 -0
  85. data/generated/google/apis/cloudkms_v1/representations.rb +448 -0
  86. data/generated/google/apis/cloudkms_v1/service.rb +933 -0
  87. data/generated/google/apis/cloudkms_v1beta1.rb +35 -0
  88. data/generated/google/apis/cloudkms_v1beta1/classes.rb +1039 -0
  89. data/generated/google/apis/cloudkms_v1beta1/representations.rb +448 -0
  90. data/generated/google/apis/cloudkms_v1beta1/service.rb +933 -0
  91. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  92. data/generated/google/apis/cloudresourcemanager_v1.rb +4 -4
  93. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +1529 -167
  94. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +491 -26
  95. data/generated/google/apis/cloudresourcemanager_v1/service.rb +1593 -135
  96. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  97. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +1155 -235
  98. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +344 -44
  99. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +702 -310
  100. data/generated/google/apis/cloudtrace_v1.rb +9 -9
  101. data/generated/google/apis/cloudtrace_v1/classes.rb +98 -92
  102. data/generated/google/apis/cloudtrace_v1/representations.rb +24 -24
  103. data/generated/google/apis/cloudtrace_v1/service.rb +42 -37
  104. data/generated/google/apis/compute_beta.rb +1 -1
  105. data/generated/google/apis/compute_beta/classes.rb +7007 -3648
  106. data/generated/google/apis/compute_beta/representations.rb +1459 -120
  107. data/generated/google/apis/compute_beta/service.rb +7943 -3726
  108. data/generated/google/apis/compute_v1.rb +1 -1
  109. data/generated/google/apis/compute_v1/classes.rb +2567 -370
  110. data/generated/google/apis/compute_v1/representations.rb +855 -0
  111. data/generated/google/apis/compute_v1/service.rb +6388 -2908
  112. data/generated/google/apis/container_v1.rb +1 -1
  113. data/generated/google/apis/container_v1/classes.rb +287 -16
  114. data/generated/google/apis/container_v1/representations.rb +113 -2
  115. data/generated/google/apis/container_v1/service.rb +130 -0
  116. data/generated/google/apis/content_v2.rb +1 -1
  117. data/generated/google/apis/content_v2/classes.rb +778 -10
  118. data/generated/google/apis/content_v2/representations.rb +339 -0
  119. data/generated/google/apis/content_v2/service.rb +364 -49
  120. data/generated/google/apis/dataflow_v1b3.rb +37 -0
  121. data/generated/google/apis/dataflow_v1b3/classes.rb +4941 -0
  122. data/generated/google/apis/dataflow_v1b3/representations.rb +2037 -0
  123. data/generated/google/apis/dataflow_v1b3/service.rb +957 -0
  124. data/generated/google/apis/dataproc_v1.rb +1 -1
  125. data/generated/google/apis/dataproc_v1/classes.rb +1235 -963
  126. data/generated/google/apis/dataproc_v1/representations.rb +299 -225
  127. data/generated/google/apis/dataproc_v1/service.rb +277 -192
  128. data/generated/google/apis/datastore_v1.rb +38 -0
  129. data/generated/google/apis/datastore_v1/classes.rb +1289 -0
  130. data/generated/google/apis/datastore_v1/representations.rb +572 -0
  131. data/generated/google/apis/datastore_v1/service.rb +259 -0
  132. data/generated/google/apis/datastore_v1beta3.rb +38 -0
  133. data/generated/google/apis/datastore_v1beta3/classes.rb +1284 -0
  134. data/generated/google/apis/datastore_v1beta3/representations.rb +572 -0
  135. data/generated/google/apis/datastore_v1beta3/service.rb +259 -0
  136. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  137. data/generated/google/apis/deploymentmanager_v2/classes.rb +436 -3
  138. data/generated/google/apis/deploymentmanager_v2/representations.rb +178 -0
  139. data/generated/google/apis/deploymentmanager_v2/service.rb +226 -61
  140. data/generated/google/apis/dfareporting_v2_5.rb +40 -0
  141. data/generated/google/apis/dfareporting_v2_5/classes.rb +11225 -0
  142. data/generated/google/apis/dfareporting_v2_5/representations.rb +3982 -0
  143. data/generated/google/apis/dfareporting_v2_5/service.rb +8755 -0
  144. data/generated/google/apis/dfareporting_v2_6.rb +40 -0
  145. data/generated/google/apis/dfareporting_v2_6/classes.rb +11586 -0
  146. data/generated/google/apis/dfareporting_v2_6/representations.rb +4119 -0
  147. data/generated/google/apis/dfareporting_v2_6/service.rb +9025 -0
  148. data/generated/google/apis/dfareporting_v2_7.rb +40 -0
  149. data/generated/google/apis/dfareporting_v2_7/classes.rb +11876 -0
  150. data/generated/google/apis/dfareporting_v2_7/representations.rb +4243 -0
  151. data/generated/google/apis/dfareporting_v2_7/service.rb +9095 -0
  152. data/generated/google/apis/dns_v1.rb +1 -1
  153. data/generated/google/apis/dns_v1/classes.rb +1 -1
  154. data/generated/google/apis/dns_v2beta1.rb +43 -0
  155. data/generated/google/apis/dns_v2beta1/classes.rb +915 -0
  156. data/generated/google/apis/dns_v2beta1/representations.rb +368 -0
  157. data/generated/google/apis/dns_v2beta1/service.rb +768 -0
  158. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  159. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +79 -86
  160. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +25 -28
  161. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +10 -8
  162. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  163. data/generated/google/apis/doubleclicksearch_v2/classes.rb +6 -4
  164. data/generated/google/apis/drive_v2.rb +1 -1
  165. data/generated/google/apis/drive_v2/classes.rb +595 -37
  166. data/generated/google/apis/drive_v2/representations.rb +140 -0
  167. data/generated/google/apis/drive_v2/service.rb +406 -40
  168. data/generated/google/apis/drive_v3.rb +1 -1
  169. data/generated/google/apis/drive_v3/classes.rb +507 -40
  170. data/generated/google/apis/drive_v3/representations.rb +105 -0
  171. data/generated/google/apis/drive_v3/service.rb +326 -29
  172. data/generated/google/apis/fitness_v1.rb +38 -2
  173. data/generated/google/apis/fitness_v1/classes.rb +65 -7
  174. data/generated/google/apis/fitness_v1/representations.rb +20 -0
  175. data/generated/google/apis/fitness_v1/service.rb +17 -18
  176. data/generated/google/apis/fusiontables_v2.rb +1 -1
  177. data/generated/google/apis/fusiontables_v2/classes.rb +4 -3
  178. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  179. data/generated/google/apis/games_management_v1management.rb +1 -1
  180. data/generated/google/apis/games_v1.rb +1 -1
  181. data/generated/google/apis/genomics_v1.rb +10 -12
  182. data/generated/google/apis/genomics_v1/classes.rb +2276 -2165
  183. data/generated/google/apis/genomics_v1/representations.rb +468 -496
  184. data/generated/google/apis/genomics_v1/service.rb +978 -882
  185. data/generated/google/apis/gmail_v1.rb +11 -2
  186. data/generated/google/apis/gmail_v1/classes.rb +655 -5
  187. data/generated/google/apis/gmail_v1/representations.rb +261 -0
  188. data/generated/google/apis/gmail_v1/service.rb +1211 -48
  189. data/generated/google/apis/groupssettings_v1.rb +2 -2
  190. data/generated/google/apis/groupssettings_v1/classes.rb +12 -0
  191. data/generated/google/apis/groupssettings_v1/representations.rb +2 -0
  192. data/generated/google/apis/iam_v1.rb +2 -2
  193. data/generated/google/apis/iam_v1/classes.rb +446 -368
  194. data/generated/google/apis/iam_v1/representations.rb +109 -91
  195. data/generated/google/apis/iam_v1/service.rb +249 -162
  196. data/generated/google/apis/identitytoolkit_v3.rb +7 -1
  197. data/generated/google/apis/identitytoolkit_v3/classes.rb +254 -2
  198. data/generated/google/apis/identitytoolkit_v3/representations.rb +38 -0
  199. data/generated/google/apis/kgsearch_v1.rb +2 -3
  200. data/generated/google/apis/kgsearch_v1/classes.rb +13 -13
  201. data/generated/google/apis/kgsearch_v1/representations.rb +2 -2
  202. data/generated/google/apis/kgsearch_v1/service.rb +26 -24
  203. data/generated/google/apis/language_v1beta1.rb +36 -0
  204. data/generated/google/apis/language_v1beta1/classes.rb +757 -0
  205. data/generated/google/apis/language_v1beta1/representations.rb +339 -0
  206. data/generated/google/apis/language_v1beta1/service.rb +185 -0
  207. data/generated/google/apis/licensing_v1.rb +3 -3
  208. data/generated/google/apis/licensing_v1/classes.rb +14 -2
  209. data/generated/google/apis/licensing_v1/representations.rb +2 -0
  210. data/generated/google/apis/licensing_v1/service.rb +1 -1
  211. data/generated/google/apis/logging_v2beta1.rb +6 -6
  212. data/generated/google/apis/logging_v2beta1/classes.rb +900 -775
  213. data/generated/google/apis/logging_v2beta1/representations.rb +163 -142
  214. data/generated/google/apis/logging_v2beta1/service.rb +427 -155
  215. data/generated/google/apis/manufacturers_v1.rb +34 -0
  216. data/generated/google/apis/manufacturers_v1/classes.rb +605 -0
  217. data/generated/google/apis/manufacturers_v1/representations.rb +223 -0
  218. data/generated/google/apis/manufacturers_v1/service.rb +138 -0
  219. data/generated/google/apis/mirror_v1.rb +2 -2
  220. data/generated/google/apis/mirror_v1/service.rb +1 -1
  221. data/generated/google/apis/monitoring_v3.rb +45 -0
  222. data/generated/google/apis/monitoring_v3/classes.rb +1333 -0
  223. data/generated/google/apis/monitoring_v3/representations.rb +516 -0
  224. data/generated/google/apis/monitoring_v3/service.rb +706 -0
  225. data/generated/google/apis/oauth2_v2.rb +1 -1
  226. data/generated/google/apis/pagespeedonline_v2.rb +1 -1
  227. data/generated/google/apis/partners_v2.rb +3 -3
  228. data/generated/google/apis/partners_v2/classes.rb +1831 -477
  229. data/generated/google/apis/partners_v2/representations.rb +571 -114
  230. data/generated/google/apis/partners_v2/service.rb +898 -167
  231. data/generated/google/apis/people_v1.rb +15 -16
  232. data/generated/google/apis/people_v1/classes.rb +1047 -859
  233. data/generated/google/apis/people_v1/representations.rb +252 -213
  234. data/generated/google/apis/people_v1/service.rb +75 -62
  235. data/generated/google/apis/plus_domains_v1.rb +1 -1
  236. data/generated/google/apis/plus_v1.rb +1 -1
  237. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  238. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +527 -456
  239. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +101 -100
  240. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +467 -343
  241. data/generated/google/apis/pubsub_v1.rb +1 -1
  242. data/generated/google/apis/pubsub_v1/classes.rb +363 -310
  243. data/generated/google/apis/pubsub_v1/representations.rb +76 -76
  244. data/generated/google/apis/pubsub_v1/service.rb +464 -335
  245. data/generated/google/apis/qpx_express_v1.rb +1 -1
  246. data/generated/google/apis/qpx_express_v1/classes.rb +6 -0
  247. data/generated/google/apis/qpx_express_v1/representations.rb +1 -0
  248. data/generated/google/apis/replicapool_v1beta2.rb +1 -1
  249. data/generated/google/apis/replicapoolupdater_v1beta1.rb +4 -2
  250. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +3 -1
  251. data/generated/google/apis/reseller_v1.rb +1 -1
  252. data/generated/google/apis/reseller_v1/classes.rb +222 -61
  253. data/generated/google/apis/reseller_v1/representations.rb +28 -0
  254. data/generated/google/apis/reseller_v1/service.rb +240 -47
  255. data/generated/google/apis/script_v1.rb +19 -19
  256. data/generated/google/apis/script_v1/classes.rb +151 -137
  257. data/generated/google/apis/script_v1/representations.rb +26 -26
  258. data/generated/google/apis/script_v1/service.rb +9 -8
  259. data/generated/google/apis/sheets_v4.rb +7 -7
  260. data/generated/google/apis/sheets_v4/classes.rb +4530 -3506
  261. data/generated/google/apis/sheets_v4/representations.rb +988 -737
  262. data/generated/google/apis/sheets_v4/service.rb +266 -99
  263. data/generated/google/apis/site_verification_v1.rb +1 -1
  264. data/generated/google/apis/slides_v1.rb +49 -0
  265. data/generated/google/apis/slides_v1/classes.rb +4480 -0
  266. data/generated/google/apis/slides_v1/representations.rb +1926 -0
  267. data/generated/google/apis/slides_v1/service.rb +245 -0
  268. data/generated/google/apis/speech_v1beta1.rb +34 -0
  269. data/generated/google/apis/speech_v1beta1/classes.rb +498 -0
  270. data/generated/google/apis/speech_v1beta1/representations.rb +206 -0
  271. data/generated/google/apis/speech_v1beta1/service.rb +270 -0
  272. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  273. data/generated/google/apis/sqladmin_v1beta4/classes.rb +131 -10
  274. data/generated/google/apis/sqladmin_v1beta4/representations.rb +50 -0
  275. data/generated/google/apis/sqladmin_v1beta4/service.rb +92 -2
  276. data/generated/google/apis/storage_v1.rb +1 -1
  277. data/generated/google/apis/storage_v1/classes.rb +205 -21
  278. data/generated/google/apis/storage_v1/representations.rb +51 -1
  279. data/generated/google/apis/storage_v1/service.rb +263 -9
  280. data/generated/google/apis/tagmanager_v1.rb +5 -5
  281. data/generated/google/apis/translate_v2.rb +2 -2
  282. data/generated/google/apis/translate_v2/service.rb +1 -1
  283. data/generated/google/apis/vision_v1.rb +1 -1
  284. data/generated/google/apis/vision_v1/classes.rb +1275 -731
  285. data/generated/google/apis/vision_v1/representations.rb +378 -111
  286. data/generated/google/apis/vision_v1/service.rb +4 -4
  287. data/generated/google/apis/webmasters_v3.rb +1 -1
  288. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  289. data/generated/google/apis/youtube_analytics_v1/classes.rb +0 -209
  290. data/generated/google/apis/youtube_analytics_v1/representations.rb +0 -99
  291. data/generated/google/apis/youtube_analytics_v1/service.rb +5 -77
  292. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  293. data/generated/google/apis/youtube_partner_v1/classes.rb +155 -0
  294. data/generated/google/apis/youtube_partner_v1/representations.rb +69 -0
  295. data/generated/google/apis/youtube_partner_v1/service.rb +107 -3
  296. data/generated/google/apis/youtube_v3.rb +1 -1
  297. data/generated/google/apis/youtube_v3/classes.rb +430 -22
  298. data/generated/google/apis/youtube_v3/representations.rb +171 -4
  299. data/generated/google/apis/youtube_v3/service.rb +100 -9
  300. data/generated/google/apis/youtubereporting_v1.rb +4 -4
  301. data/generated/google/apis/youtubereporting_v1/classes.rb +140 -131
  302. data/generated/google/apis/youtubereporting_v1/representations.rb +37 -37
  303. data/generated/google/apis/youtubereporting_v1/service.rb +139 -135
  304. data/google-api-client.gemspec +4 -3
  305. data/lib/google/apis/core/api_command.rb +16 -6
  306. data/lib/google/apis/core/base_service.rb +17 -9
  307. data/lib/google/apis/core/download.rb +7 -2
  308. data/lib/google/apis/core/http_command.rb +5 -1
  309. data/lib/google/apis/core/json_representation.rb +2 -2
  310. data/lib/google/apis/core/upload.rb +7 -1
  311. data/lib/google/apis/errors.rb +6 -2
  312. data/lib/google/apis/generator/annotator.rb +6 -0
  313. data/lib/google/apis/version.rb +1 -1
  314. data/samples/cli/lib/samples/bigquery.rb +101 -0
  315. data/samples/cli/lib/samples/calendar.rb +1 -1
  316. data/samples/cli/lib/samples/gmail.rb +74 -0
  317. data/samples/cli/lib/samples/sheets.rb +61 -0
  318. data/samples/cli/lib/samples/you_tube.rb +4 -1
  319. data/sync.rb +71 -0
  320. metadata +86 -18
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/pubsub/docs
26
26
  module PubsubV1
27
27
  VERSION = 'V1'
28
- REVISION = '20160317'
28
+ REVISION = '20170308'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -22,23 +22,34 @@ module Google
22
22
  module Apis
23
23
  module PubsubV1
24
24
 
25
- # Request message for `SetIamPolicy` method.
26
- class SetIamPolicyRequest
25
+ # Associates `members` with a `role`.
26
+ class Binding
27
27
  include Google::Apis::Core::Hashable
28
28
 
29
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
30
- # access control policies for Cloud Platform resources. A `Policy` consists of a
31
- # list of `bindings`. A `Binding` binds a list of `members` to a `role`, where
32
- # the members can be user accounts, Google groups, Google domains, and service
33
- # accounts. A `role` is a named list of permissions defined by IAM. **Example** `
34
- # "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com", "
35
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
36
- # appspot.gserviceaccount.com", ] `, ` "role": "roles/viewer", "members": ["user:
37
- # sean@example.com"] ` ] ` For a description of IAM and its features, see the [
38
- # IAM developer's guide](https://cloud.google.com/iam).
39
- # Corresponds to the JSON property `policy`
40
- # @return [Google::Apis::PubsubV1::Policy]
41
- attr_accessor :policy
29
+ # Specifies the identities requesting access for a Cloud Platform resource.
30
+ # `members` can have the following values:
31
+ # * `allUsers`: A special identifier that represents anyone who is
32
+ # on the internet; with or without a Google account.
33
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
34
+ # who is authenticated with a Google account or a service account.
35
+ # * `user:`emailid``: An email address that represents a specific Google
36
+ # account. For example, `alice@gmail.com` or `joe@example.com`.
37
+ # * `serviceAccount:`emailid``: An email address that represents a service
38
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
39
+ # * `group:`emailid``: An email address that represents a Google group.
40
+ # For example, `admins@example.com`.
41
+ # * `domain:`domain``: A Google Apps domain name that represents all the
42
+ # users of that domain. For example, `google.com` or `example.com`.
43
+ # Corresponds to the JSON property `members`
44
+ # @return [Array<String>]
45
+ attr_accessor :members
46
+
47
+ # Role that is assigned to `members`.
48
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
49
+ # Required
50
+ # Corresponds to the JSON property `role`
51
+ # @return [String]
52
+ attr_accessor :role
42
53
 
43
54
  def initialize(**args)
44
55
  update!(**args)
@@ -46,46 +57,25 @@ module Google
46
57
 
47
58
  # Update properties of this object
48
59
  def update!(**args)
49
- @policy = args[:policy] if args.key?(:policy)
60
+ @members = args[:members] if args.key?(:members)
61
+ @role = args[:role] if args.key?(:role)
50
62
  end
51
63
  end
52
64
 
53
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
54
- # access control policies for Cloud Platform resources. A `Policy` consists of a
55
- # list of `bindings`. A `Binding` binds a list of `members` to a `role`, where
56
- # the members can be user accounts, Google groups, Google domains, and service
57
- # accounts. A `role` is a named list of permissions defined by IAM. **Example** `
58
- # "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com", "
59
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
60
- # appspot.gserviceaccount.com", ] `, ` "role": "roles/viewer", "members": ["user:
61
- # sean@example.com"] ` ] ` For a description of IAM and its features, see the [
62
- # IAM developer's guide](https://cloud.google.com/iam).
63
- class Policy
65
+ # Response for the `ListTopics` method.
66
+ class ListTopicsResponse
64
67
  include Google::Apis::Core::Hashable
65
68
 
66
- # Version of the `Policy`. The default version is 0.
67
- # Corresponds to the JSON property `version`
68
- # @return [Fixnum]
69
- attr_accessor :version
70
-
71
- # Associates a list of `members` to a `role`. Multiple `bindings` must not be
72
- # specified for the same `role`. `bindings` with no members will result in an
73
- # error.
74
- # Corresponds to the JSON property `bindings`
75
- # @return [Array<Google::Apis::PubsubV1::Binding>]
76
- attr_accessor :bindings
77
-
78
- # `etag` is used for optimistic concurrency control as a way to help prevent
79
- # simultaneous updates of a policy from overwriting each other. It is strongly
80
- # suggested that systems make use of the `etag` in the read-modify-write cycle
81
- # to perform policy updates in order to avoid race conditions: An `etag` is
82
- # returned in the response to `getIamPolicy`, and systems are expected to put
83
- # that etag in the request to `setIamPolicy` to ensure that their change will be
84
- # applied to the same version of the policy. If no `etag` is provided in the
85
- # call to `setIamPolicy`, then the existing policy is overwritten blindly.
86
- # Corresponds to the JSON property `etag`
69
+ # If not empty, indicates that there may be more topics that match the
70
+ # request; this value should be passed in a new `ListTopicsRequest`.
71
+ # Corresponds to the JSON property `nextPageToken`
87
72
  # @return [String]
88
- attr_accessor :etag
73
+ attr_accessor :next_page_token
74
+
75
+ # The resulting topics.
76
+ # Corresponds to the JSON property `topics`
77
+ # @return [Array<Google::Apis::PubsubV1::Topic>]
78
+ attr_accessor :topics
89
79
 
90
80
  def initialize(**args)
91
81
  update!(**args)
@@ -93,37 +83,20 @@ module Google
93
83
 
94
84
  # Update properties of this object
95
85
  def update!(**args)
96
- @version = args[:version] if args.key?(:version)
97
- @bindings = args[:bindings] if args.key?(:bindings)
98
- @etag = args[:etag] if args.key?(:etag)
86
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
87
+ @topics = args[:topics] if args.key?(:topics)
99
88
  end
100
89
  end
101
90
 
102
- # Associates `members` with a `role`.
103
- class Binding
91
+ # Request for the Acknowledge method.
92
+ class AcknowledgeRequest
104
93
  include Google::Apis::Core::Hashable
105
94
 
106
- # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
107
- # , or `roles/owner`. Required
108
- # Corresponds to the JSON property `role`
109
- # @return [String]
110
- attr_accessor :role
111
-
112
- # Specifies the identities requesting access for a Cloud Platform resource. `
113
- # members` can have the following values: * `allUsers`: A special identifier
114
- # that represents anyone who is on the internet; with or without a Google
115
- # account. * `allAuthenticatedUsers`: A special identifier that represents
116
- # anyone who is authenticated with a Google account or a service account. * `
117
- # user:`emailid``: An email address that represents a specific Google account.
118
- # For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:`
119
- # emailid``: An email address that represents a service account. For example, `
120
- # my-other-app@appspot.gserviceaccount.com`. * `group:`emailid``: An email
121
- # address that represents a Google group. For example, `admins@example.com`. * `
122
- # domain:`domain``: A Google Apps domain name that represents all the users of
123
- # that domain. For example, `google.com` or `example.com`.
124
- # Corresponds to the JSON property `members`
95
+ # The acknowledgment ID for the messages being acknowledged that was returned
96
+ # by the Pub/Sub system in the `Pull` response. Must not be empty.
97
+ # Corresponds to the JSON property `ackIds`
125
98
  # @return [Array<String>]
126
- attr_accessor :members
99
+ attr_accessor :ack_ids
127
100
 
128
101
  def initialize(**args)
129
102
  update!(**args)
@@ -131,40 +104,44 @@ module Google
131
104
 
132
105
  # Update properties of this object
133
106
  def update!(**args)
134
- @role = args[:role] if args.key?(:role)
135
- @members = args[:members] if args.key?(:members)
107
+ @ack_ids = args[:ack_ids] if args.key?(:ack_ids)
136
108
  end
137
109
  end
138
110
 
139
- # Request message for `TestIamPermissions` method.
140
- class TestIamPermissionsRequest
111
+ # A generic empty message that you can re-use to avoid defining duplicated
112
+ # empty messages in your APIs. A typical example is to use it as the request
113
+ # or the response type of an API method. For instance:
114
+ # service Foo `
115
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
116
+ # `
117
+ # The JSON representation for `Empty` is empty JSON object ````.
118
+ class Empty
141
119
  include Google::Apis::Core::Hashable
142
120
 
143
- # The set of permissions to check for the `resource`. Permissions with wildcards
144
- # (such as '*' or 'storage.*') are not allowed. For more information see IAM
145
- # Overview.
146
- # Corresponds to the JSON property `permissions`
147
- # @return [Array<String>]
148
- attr_accessor :permissions
149
-
150
121
  def initialize(**args)
151
122
  update!(**args)
152
123
  end
153
124
 
154
125
  # Update properties of this object
155
126
  def update!(**args)
156
- @permissions = args[:permissions] if args.key?(:permissions)
157
127
  end
158
128
  end
159
129
 
160
- # Response message for `TestIamPermissions` method.
161
- class TestIamPermissionsResponse
130
+ # Response for the `ListTopicSubscriptions` method.
131
+ class ListTopicSubscriptionsResponse
162
132
  include Google::Apis::Core::Hashable
163
133
 
164
- # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
165
- # Corresponds to the JSON property `permissions`
134
+ # If not empty, indicates that there may be more subscriptions that match
135
+ # the request; this value should be passed in a new
136
+ # `ListTopicSubscriptionsRequest` to get more subscriptions.
137
+ # Corresponds to the JSON property `nextPageToken`
138
+ # @return [String]
139
+ attr_accessor :next_page_token
140
+
141
+ # The names of the subscriptions that match the request.
142
+ # Corresponds to the JSON property `subscriptions`
166
143
  # @return [Array<String>]
167
- attr_accessor :permissions
144
+ attr_accessor :subscriptions
168
145
 
169
146
  def initialize(**args)
170
147
  update!(**args)
@@ -172,22 +149,22 @@ module Google
172
149
 
173
150
  # Update properties of this object
174
151
  def update!(**args)
175
- @permissions = args[:permissions] if args.key?(:permissions)
152
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
153
+ @subscriptions = args[:subscriptions] if args.key?(:subscriptions)
176
154
  end
177
155
  end
178
156
 
179
- # A topic resource.
180
- class Topic
157
+ # Response for the `Pull` method.
158
+ class PullResponse
181
159
  include Google::Apis::Core::Hashable
182
160
 
183
- # The name of the topic. It must have the format `"projects/`project`/topics/`
184
- # topic`"`. ``topic`` must start with a letter, and contain only letters (`[A-Za-
185
- # z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`),
186
- # tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255
187
- # characters in length, and it must not start with `"goog"`.
188
- # Corresponds to the JSON property `name`
189
- # @return [String]
190
- attr_accessor :name
161
+ # Received Pub/Sub messages. The Pub/Sub system will return zero messages if
162
+ # there are no more available in the backlog. The Pub/Sub system may return
163
+ # fewer than the `maxMessages` requested even if there are more messages
164
+ # available in the backlog.
165
+ # Corresponds to the JSON property `receivedMessages`
166
+ # @return [Array<Google::Apis::PubsubV1::ReceivedMessage>]
167
+ attr_accessor :received_messages
191
168
 
192
169
  def initialize(**args)
193
170
  update!(**args)
@@ -195,18 +172,24 @@ module Google
195
172
 
196
173
  # Update properties of this object
197
174
  def update!(**args)
198
- @name = args[:name] if args.key?(:name)
175
+ @received_messages = args[:received_messages] if args.key?(:received_messages)
199
176
  end
200
177
  end
201
178
 
202
- # Request for the Publish method.
203
- class PublishRequest
179
+ # A message and its corresponding acknowledgment ID.
180
+ class ReceivedMessage
204
181
  include Google::Apis::Core::Hashable
205
182
 
206
- # The messages to publish.
207
- # Corresponds to the JSON property `messages`
208
- # @return [Array<Google::Apis::PubsubV1::Message>]
209
- attr_accessor :messages
183
+ # A message data and its attributes. The message payload must not be empty;
184
+ # it must contain either a non-empty data field, or at least one attribute.
185
+ # Corresponds to the JSON property `message`
186
+ # @return [Google::Apis::PubsubV1::Message]
187
+ attr_accessor :message
188
+
189
+ # This ID can be used to acknowledge the received message.
190
+ # Corresponds to the JSON property `ackId`
191
+ # @return [String]
192
+ attr_accessor :ack_id
210
193
 
211
194
  def initialize(**args)
212
195
  update!(**args)
@@ -214,63 +197,61 @@ module Google
214
197
 
215
198
  # Update properties of this object
216
199
  def update!(**args)
217
- @messages = args[:messages] if args.key?(:messages)
200
+ @message = args[:message] if args.key?(:message)
201
+ @ack_id = args[:ack_id] if args.key?(:ack_id)
218
202
  end
219
203
  end
220
204
 
221
- # A message data and its attributes. The message payload must not be empty; it
222
- # must contain either a non-empty data field, or at least one attribute.
223
- class Message
205
+ # Configuration for a push delivery endpoint.
206
+ class PushConfig
224
207
  include Google::Apis::Core::Hashable
225
208
 
226
- # The message payload. For JSON requests, the value of this field must be base64-
227
- # encoded.
228
- # Corresponds to the JSON property `data`
209
+ # A URL locating the endpoint to which messages should be pushed.
210
+ # For example, a Webhook endpoint might use "https://example.com/push".
211
+ # Corresponds to the JSON property `pushEndpoint`
229
212
  # @return [String]
230
- attr_accessor :data
213
+ attr_accessor :push_endpoint
231
214
 
232
- # Optional attributes for this message.
215
+ # Endpoint configuration attributes.
216
+ # Every endpoint has a set of API supported attributes that can be used to
217
+ # control different aspects of the message delivery.
218
+ # The currently supported attribute is `x-goog-version`, which you can
219
+ # use to change the format of the pushed message. This attribute
220
+ # indicates the version of the data expected by the endpoint. This
221
+ # controls the shape of the pushed message (i.e., its fields and metadata).
222
+ # The endpoint version is based on the version of the Pub/Sub API.
223
+ # If not present during the `CreateSubscription` call, it will default to
224
+ # the version of the API used to make such call. If not present during a
225
+ # `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
226
+ # calls will always return a valid version, even if the subscription was
227
+ # created without this attribute.
228
+ # The possible values for this attribute are:
229
+ # * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
230
+ # * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
233
231
  # Corresponds to the JSON property `attributes`
234
232
  # @return [Hash<String,String>]
235
233
  attr_accessor :attributes
236
234
 
237
- # ID of this message, assigned by the server when the message is published.
238
- # Guaranteed to be unique within the topic. This value may be read by a
239
- # subscriber that receives a `PubsubMessage` via a `Pull` call or a push
240
- # delivery. It must not be populated by the publisher in a `Publish` call.
241
- # Corresponds to the JSON property `messageId`
242
- # @return [String]
243
- attr_accessor :message_id
244
-
245
- # The time at which the message was published, populated by the server when it
246
- # receives the `Publish` call. It must not be populated by the publisher in a `
247
- # Publish` call.
248
- # Corresponds to the JSON property `publishTime`
249
- # @return [String]
250
- attr_accessor :publish_time
251
-
252
235
  def initialize(**args)
253
236
  update!(**args)
254
237
  end
255
238
 
256
239
  # Update properties of this object
257
240
  def update!(**args)
258
- @data = args[:data] if args.key?(:data)
241
+ @push_endpoint = args[:push_endpoint] if args.key?(:push_endpoint)
259
242
  @attributes = args[:attributes] if args.key?(:attributes)
260
- @message_id = args[:message_id] if args.key?(:message_id)
261
- @publish_time = args[:publish_time] if args.key?(:publish_time)
262
243
  end
263
244
  end
264
245
 
265
- # Response for the `Publish` method.
266
- class PublishResponse
246
+ # Response message for `TestIamPermissions` method.
247
+ class TestIamPermissionsResponse
267
248
  include Google::Apis::Core::Hashable
268
249
 
269
- # The server-assigned ID of each published message, in the same order as the
270
- # messages in the request. IDs are guaranteed to be unique within the topic.
271
- # Corresponds to the JSON property `messageIds`
250
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
251
+ # allowed.
252
+ # Corresponds to the JSON property `permissions`
272
253
  # @return [Array<String>]
273
- attr_accessor :message_ids
254
+ attr_accessor :permissions
274
255
 
275
256
  def initialize(**args)
276
257
  update!(**args)
@@ -278,24 +259,30 @@ module Google
278
259
 
279
260
  # Update properties of this object
280
261
  def update!(**args)
281
- @message_ids = args[:message_ids] if args.key?(:message_ids)
262
+ @permissions = args[:permissions] if args.key?(:permissions)
282
263
  end
283
264
  end
284
265
 
285
- # Response for the `ListTopics` method.
286
- class ListTopicsResponse
266
+ # Request for the `Pull` method.
267
+ class PullRequest
287
268
  include Google::Apis::Core::Hashable
288
269
 
289
- # The resulting topics.
290
- # Corresponds to the JSON property `topics`
291
- # @return [Array<Google::Apis::PubsubV1::Topic>]
292
- attr_accessor :topics
270
+ # If this field set to true, the system will respond immediately even if
271
+ # it there are no messages available to return in the `Pull` response.
272
+ # Otherwise, the system may wait (for a bounded amount of time) until at
273
+ # least one message is available, rather than returning no messages. The
274
+ # client may cancel the request if it does not wish to wait any longer for
275
+ # the response.
276
+ # Corresponds to the JSON property `returnImmediately`
277
+ # @return [Boolean]
278
+ attr_accessor :return_immediately
279
+ alias_method :return_immediately?, :return_immediately
293
280
 
294
- # If not empty, indicates that there may be more topics that match the request;
295
- # this value should be passed in a new `ListTopicsRequest`.
296
- # Corresponds to the JSON property `nextPageToken`
297
- # @return [String]
298
- attr_accessor :next_page_token
281
+ # The maximum number of messages returned for this request. The Pub/Sub
282
+ # system may return fewer than the number specified.
283
+ # Corresponds to the JSON property `maxMessages`
284
+ # @return [Fixnum]
285
+ attr_accessor :max_messages
299
286
 
300
287
  def initialize(**args)
301
288
  update!(**args)
@@ -303,23 +290,23 @@ module Google
303
290
 
304
291
  # Update properties of this object
305
292
  def update!(**args)
306
- @topics = args[:topics] if args.key?(:topics)
307
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
293
+ @return_immediately = args[:return_immediately] if args.key?(:return_immediately)
294
+ @max_messages = args[:max_messages] if args.key?(:max_messages)
308
295
  end
309
296
  end
310
297
 
311
- # Response for the `ListTopicSubscriptions` method.
312
- class ListTopicSubscriptionsResponse
298
+ # Response for the `ListSubscriptions` method.
299
+ class ListSubscriptionsResponse
313
300
  include Google::Apis::Core::Hashable
314
301
 
315
- # The names of the subscriptions that match the request.
302
+ # The subscriptions that match the request.
316
303
  # Corresponds to the JSON property `subscriptions`
317
- # @return [Array<String>]
304
+ # @return [Array<Google::Apis::PubsubV1::Subscription>]
318
305
  attr_accessor :subscriptions
319
306
 
320
- # If not empty, indicates that there may be more subscriptions that match the
321
- # request; this value should be passed in a new `ListTopicSubscriptionsRequest`
322
- # to get more subscriptions.
307
+ # If not empty, indicates that there may be more subscriptions that match
308
+ # the request; this value should be passed in a new
309
+ # `ListSubscriptionsRequest` to get more subscriptions.
323
310
  # Corresponds to the JSON property `nextPageToken`
324
311
  # @return [String]
325
312
  attr_accessor :next_page_token
@@ -335,103 +322,117 @@ module Google
335
322
  end
336
323
  end
337
324
 
338
- # A generic empty message that you can re-use to avoid defining duplicated empty
339
- # messages in your APIs. A typical example is to use it as the request or the
340
- # response type of an API method. For instance: service Foo ` rpc Bar(google.
341
- # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
342
- # `Empty` is empty JSON object ````.
343
- class Empty
325
+ # Request for the Publish method.
326
+ class PublishRequest
344
327
  include Google::Apis::Core::Hashable
345
328
 
329
+ # The messages to publish.
330
+ # Corresponds to the JSON property `messages`
331
+ # @return [Array<Google::Apis::PubsubV1::Message>]
332
+ attr_accessor :messages
333
+
346
334
  def initialize(**args)
347
335
  update!(**args)
348
336
  end
349
337
 
350
338
  # Update properties of this object
351
339
  def update!(**args)
340
+ @messages = args[:messages] if args.key?(:messages)
352
341
  end
353
342
  end
354
343
 
355
- # A subscription resource.
356
- class Subscription
344
+ # Response for the `Publish` method.
345
+ class PublishResponse
357
346
  include Google::Apis::Core::Hashable
358
347
 
359
- # The name of the subscription. It must have the format `"projects/`project`/
360
- # subscriptions/`subscription`"`. ``subscription`` must start with a letter, and
361
- # contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
362
- # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%
363
- # `). It must be between 3 and 255 characters in length, and it must not start
364
- # with `"goog"`.
365
- # Corresponds to the JSON property `name`
366
- # @return [String]
367
- attr_accessor :name
348
+ # The server-assigned ID of each published message, in the same order as
349
+ # the messages in the request. IDs are guaranteed to be unique within
350
+ # the topic.
351
+ # Corresponds to the JSON property `messageIds`
352
+ # @return [Array<String>]
353
+ attr_accessor :message_ids
368
354
 
369
- # The name of the topic from which this subscription is receiving messages. The
370
- # value of this field will be `_deleted-topic_` if the topic has been deleted.
371
- # Corresponds to the JSON property `topic`
372
- # @return [String]
373
- attr_accessor :topic
355
+ def initialize(**args)
356
+ update!(**args)
357
+ end
358
+
359
+ # Update properties of this object
360
+ def update!(**args)
361
+ @message_ids = args[:message_ids] if args.key?(:message_ids)
362
+ end
363
+ end
364
+
365
+ # A subscription resource.
366
+ class Subscription
367
+ include Google::Apis::Core::Hashable
374
368
 
375
369
  # Configuration for a push delivery endpoint.
376
370
  # Corresponds to the JSON property `pushConfig`
377
371
  # @return [Google::Apis::PubsubV1::PushConfig]
378
372
  attr_accessor :push_config
379
373
 
380
- # This value is the maximum time after a subscriber receives a message before
381
- # the subscriber should acknowledge the message. After message delivery but
382
- # before the ack deadline expires and before the message is acknowledged, it is
383
- # an outstanding message and will not be delivered again during that time (on a
384
- # best-effort basis). For pull subscriptions, this value is used as the initial
385
- # value for the ack deadline. To override this value for a given message, call `
386
- # ModifyAckDeadline` with the corresponding `ack_id` if using pull. For push
387
- # delivery, this value is also used to set the request timeout for the call to
388
- # the push endpoint. If the subscriber never acknowledges the message, the Pub/
389
- # Sub system will eventually redeliver the message. If this parameter is not set,
390
- # the default value of 10 seconds is used.
374
+ # This value is the maximum time after a subscriber receives a message
375
+ # before the subscriber should acknowledge the message. After message
376
+ # delivery but before the ack deadline expires and before the message is
377
+ # acknowledged, it is an outstanding message and will not be delivered
378
+ # again during that time (on a best-effort basis).
379
+ # For pull subscriptions, this value is used as the initial value for the ack
380
+ # deadline. To override this value for a given message, call
381
+ # `ModifyAckDeadline` with the corresponding `ack_id` if using
382
+ # pull.
383
+ # The minimum custom deadline you can specify is 10 seconds.
384
+ # The maximum custom deadline you can specify is 600 seconds (10 minutes).
385
+ # If this parameter is 0, a default value of 10 seconds is used.
386
+ # For push delivery, this value is also used to set the request timeout for
387
+ # the call to the push endpoint.
388
+ # If the subscriber never acknowledges the message, the Pub/Sub
389
+ # system will eventually redeliver the message.
391
390
  # Corresponds to the JSON property `ackDeadlineSeconds`
392
391
  # @return [Fixnum]
393
392
  attr_accessor :ack_deadline_seconds
394
393
 
394
+ # The name of the subscription. It must have the format
395
+ # `"projects/`project`/subscriptions/`subscription`"`. ``subscription`` must
396
+ # start with a letter, and contain only letters (`[A-Za-z]`), numbers
397
+ # (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
398
+ # plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
399
+ # in length, and it must not start with `"goog"`.
400
+ # Corresponds to the JSON property `name`
401
+ # @return [String]
402
+ attr_accessor :name
403
+
404
+ # The name of the topic from which this subscription is receiving messages.
405
+ # Format is `projects/`project`/topics/`topic``.
406
+ # The value of this field will be `_deleted-topic_` if the topic has been
407
+ # deleted.
408
+ # Corresponds to the JSON property `topic`
409
+ # @return [String]
410
+ attr_accessor :topic
411
+
395
412
  def initialize(**args)
396
413
  update!(**args)
397
414
  end
398
415
 
399
416
  # Update properties of this object
400
417
  def update!(**args)
401
- @name = args[:name] if args.key?(:name)
402
- @topic = args[:topic] if args.key?(:topic)
403
418
  @push_config = args[:push_config] if args.key?(:push_config)
404
419
  @ack_deadline_seconds = args[:ack_deadline_seconds] if args.key?(:ack_deadline_seconds)
420
+ @name = args[:name] if args.key?(:name)
421
+ @topic = args[:topic] if args.key?(:topic)
405
422
  end
406
423
  end
407
424
 
408
- # Configuration for a push delivery endpoint.
409
- class PushConfig
425
+ # Request message for `TestIamPermissions` method.
426
+ class TestIamPermissionsRequest
410
427
  include Google::Apis::Core::Hashable
411
428
 
412
- # A URL locating the endpoint to which messages should be pushed. For example, a
413
- # Webhook endpoint might use "https://example.com/push".
414
- # Corresponds to the JSON property `pushEndpoint`
415
- # @return [String]
416
- attr_accessor :push_endpoint
417
-
418
- # Endpoint configuration attributes. Every endpoint has a set of API supported
419
- # attributes that can be used to control different aspects of the message
420
- # delivery. The currently supported attribute is `x-goog-version`, which you can
421
- # use to change the format of the push message. This attribute indicates the
422
- # version of the data expected by the endpoint. This controls the shape of the
423
- # envelope (i.e. its fields and metadata). The endpoint version is based on the
424
- # version of the Pub/Sub API. If not present during the `CreateSubscription`
425
- # call, it will default to the version of the API used to make such call. If not
426
- # present during a `ModifyPushConfig` call, its value will not be changed. `
427
- # GetSubscription` calls will always return a valid version, even if the
428
- # subscription was created without this attribute. The possible values for this
429
- # attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/
430
- # Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub
431
- # API.
432
- # Corresponds to the JSON property `attributes`
433
- # @return [Hash<String,String>]
434
- attr_accessor :attributes
429
+ # The set of permissions to check for the `resource`. Permissions with
430
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
431
+ # information see
432
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
433
+ # Corresponds to the JSON property `permissions`
434
+ # @return [Array<String>]
435
+ attr_accessor :permissions
435
436
 
436
437
  def initialize(**args)
437
438
  update!(**args)
@@ -439,26 +440,63 @@ module Google
439
440
 
440
441
  # Update properties of this object
441
442
  def update!(**args)
442
- @push_endpoint = args[:push_endpoint] if args.key?(:push_endpoint)
443
- @attributes = args[:attributes] if args.key?(:attributes)
443
+ @permissions = args[:permissions] if args.key?(:permissions)
444
444
  end
445
445
  end
446
446
 
447
- # Response for the `ListSubscriptions` method.
448
- class ListSubscriptionsResponse
447
+ # Defines an Identity and Access Management (IAM) policy. It is used to
448
+ # specify access control policies for Cloud Platform resources.
449
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
450
+ # `members` to a `role`, where the members can be user accounts, Google groups,
451
+ # Google domains, and service accounts. A `role` is a named list of permissions
452
+ # defined by IAM.
453
+ # **Example**
454
+ # `
455
+ # "bindings": [
456
+ # `
457
+ # "role": "roles/owner",
458
+ # "members": [
459
+ # "user:mike@example.com",
460
+ # "group:admins@example.com",
461
+ # "domain:google.com",
462
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
463
+ # ]
464
+ # `,
465
+ # `
466
+ # "role": "roles/viewer",
467
+ # "members": ["user:sean@example.com"]
468
+ # `
469
+ # ]
470
+ # `
471
+ # For a description of IAM and its features, see the
472
+ # [IAM developer's guide](https://cloud.google.com/iam).
473
+ class Policy
449
474
  include Google::Apis::Core::Hashable
450
475
 
451
- # The subscriptions that match the request.
452
- # Corresponds to the JSON property `subscriptions`
453
- # @return [Array<Google::Apis::PubsubV1::Subscription>]
454
- attr_accessor :subscriptions
476
+ # Version of the `Policy`. The default version is 0.
477
+ # Corresponds to the JSON property `version`
478
+ # @return [Fixnum]
479
+ attr_accessor :version
455
480
 
456
- # If not empty, indicates that there may be more subscriptions that match the
457
- # request; this value should be passed in a new `ListSubscriptionsRequest` to
458
- # get more subscriptions.
459
- # Corresponds to the JSON property `nextPageToken`
481
+ # Associates a list of `members` to a `role`.
482
+ # Multiple `bindings` must not be specified for the same `role`.
483
+ # `bindings` with no members will result in an error.
484
+ # Corresponds to the JSON property `bindings`
485
+ # @return [Array<Google::Apis::PubsubV1::Binding>]
486
+ attr_accessor :bindings
487
+
488
+ # `etag` is used for optimistic concurrency control as a way to help
489
+ # prevent simultaneous updates of a policy from overwriting each other.
490
+ # It is strongly suggested that systems make use of the `etag` in the
491
+ # read-modify-write cycle to perform policy updates in order to avoid race
492
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
493
+ # systems are expected to put that etag in the request to `setIamPolicy` to
494
+ # ensure that their change will be applied to the same version of the policy.
495
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
496
+ # policy is overwritten blindly.
497
+ # Corresponds to the JSON property `etag`
460
498
  # @return [String]
461
- attr_accessor :next_page_token
499
+ attr_accessor :etag
462
500
 
463
501
  def initialize(**args)
464
502
  update!(**args)
@@ -466,28 +504,25 @@ module Google
466
504
 
467
505
  # Update properties of this object
468
506
  def update!(**args)
469
- @subscriptions = args[:subscriptions] if args.key?(:subscriptions)
470
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
507
+ @version = args[:version] if args.key?(:version)
508
+ @bindings = args[:bindings] if args.key?(:bindings)
509
+ @etag = args[:etag] if args.key?(:etag)
471
510
  end
472
511
  end
473
512
 
474
- # Request for the ModifyAckDeadline method.
475
- class ModifyAckDeadlineRequest
513
+ # A topic resource.
514
+ class Topic
476
515
  include Google::Apis::Core::Hashable
477
516
 
478
- # List of acknowledgment IDs.
479
- # Corresponds to the JSON property `ackIds`
480
- # @return [Array<String>]
481
- attr_accessor :ack_ids
482
-
483
- # The new ack deadline with respect to the time this request was sent to the Pub/
484
- # Sub system. Must be >= 0. For example, if the value is 10, the new ack
485
- # deadline will expire 10 seconds after the `ModifyAckDeadline` call was made.
486
- # Specifying zero may immediately make the message available for another pull
487
- # request.
488
- # Corresponds to the JSON property `ackDeadlineSeconds`
489
- # @return [Fixnum]
490
- attr_accessor :ack_deadline_seconds
517
+ # The name of the topic. It must have the format
518
+ # `"projects/`project`/topics/`topic`"`. ``topic`` must start with a letter,
519
+ # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
520
+ # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
521
+ # signs (`%`). It must be between 3 and 255 characters in length, and it
522
+ # must not start with `"goog"`.
523
+ # Corresponds to the JSON property `name`
524
+ # @return [String]
525
+ attr_accessor :name
491
526
 
492
527
  def initialize(**args)
493
528
  update!(**args)
@@ -495,17 +530,26 @@ module Google
495
530
 
496
531
  # Update properties of this object
497
532
  def update!(**args)
498
- @ack_ids = args[:ack_ids] if args.key?(:ack_ids)
499
- @ack_deadline_seconds = args[:ack_deadline_seconds] if args.key?(:ack_deadline_seconds)
533
+ @name = args[:name] if args.key?(:name)
500
534
  end
501
535
  end
502
536
 
503
- # Request for the Acknowledge method.
504
- class AcknowledgeRequest
537
+ # Request for the ModifyAckDeadline method.
538
+ class ModifyAckDeadlineRequest
505
539
  include Google::Apis::Core::Hashable
506
540
 
507
- # The acknowledgment ID for the messages being acknowledged that was returned by
508
- # the Pub/Sub system in the `Pull` response. Must not be empty.
541
+ # The new ack deadline with respect to the time this request was sent to
542
+ # the Pub/Sub system. For example, if the value is 10, the new
543
+ # ack deadline will expire 10 seconds after the `ModifyAckDeadline` call
544
+ # was made. Specifying zero may immediately make the message available for
545
+ # another pull request.
546
+ # The minimum deadline you can specify is 0 seconds.
547
+ # The maximum deadline you can specify is 600 seconds (10 minutes).
548
+ # Corresponds to the JSON property `ackDeadlineSeconds`
549
+ # @return [Fixnum]
550
+ attr_accessor :ack_deadline_seconds
551
+
552
+ # List of acknowledgment IDs.
509
553
  # Corresponds to the JSON property `ackIds`
510
554
  # @return [Array<String>]
511
555
  attr_accessor :ack_ids
@@ -516,29 +560,44 @@ module Google
516
560
 
517
561
  # Update properties of this object
518
562
  def update!(**args)
563
+ @ack_deadline_seconds = args[:ack_deadline_seconds] if args.key?(:ack_deadline_seconds)
519
564
  @ack_ids = args[:ack_ids] if args.key?(:ack_ids)
520
565
  end
521
566
  end
522
567
 
523
- # Request for the `Pull` method.
524
- class PullRequest
568
+ # Request message for `SetIamPolicy` method.
569
+ class SetIamPolicyRequest
525
570
  include Google::Apis::Core::Hashable
526
571
 
527
- # If this is specified as true the system will respond immediately even if it is
528
- # not able to return a message in the `Pull` response. Otherwise the system is
529
- # allowed to wait until at least one message is available rather than returning
530
- # no messages. The client may cancel the request if it does not wish to wait any
531
- # longer for the response.
532
- # Corresponds to the JSON property `returnImmediately`
533
- # @return [Boolean]
534
- attr_accessor :return_immediately
535
- alias_method :return_immediately?, :return_immediately
536
-
537
- # The maximum number of messages returned for this request. The Pub/Sub system
538
- # may return fewer than the number specified.
539
- # Corresponds to the JSON property `maxMessages`
540
- # @return [Fixnum]
541
- attr_accessor :max_messages
572
+ # Defines an Identity and Access Management (IAM) policy. It is used to
573
+ # specify access control policies for Cloud Platform resources.
574
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
575
+ # `members` to a `role`, where the members can be user accounts, Google groups,
576
+ # Google domains, and service accounts. A `role` is a named list of permissions
577
+ # defined by IAM.
578
+ # **Example**
579
+ # `
580
+ # "bindings": [
581
+ # `
582
+ # "role": "roles/owner",
583
+ # "members": [
584
+ # "user:mike@example.com",
585
+ # "group:admins@example.com",
586
+ # "domain:google.com",
587
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
588
+ # ]
589
+ # `,
590
+ # `
591
+ # "role": "roles/viewer",
592
+ # "members": ["user:sean@example.com"]
593
+ # `
594
+ # ]
595
+ # `
596
+ # For a description of IAM and its features, see the
597
+ # [IAM developer's guide](https://cloud.google.com/iam).
598
+ # Corresponds to the JSON property `policy`
599
+ # @return [Google::Apis::PubsubV1::Policy]
600
+ attr_accessor :policy
542
601
 
543
602
  def initialize(**args)
544
603
  update!(**args)
@@ -546,47 +605,39 @@ module Google
546
605
 
547
606
  # Update properties of this object
548
607
  def update!(**args)
549
- @return_immediately = args[:return_immediately] if args.key?(:return_immediately)
550
- @max_messages = args[:max_messages] if args.key?(:max_messages)
608
+ @policy = args[:policy] if args.key?(:policy)
551
609
  end
552
610
  end
553
611
 
554
- # Response for the `Pull` method.
555
- class PullResponse
612
+ # A message data and its attributes. The message payload must not be empty;
613
+ # it must contain either a non-empty data field, or at least one attribute.
614
+ class Message
556
615
  include Google::Apis::Core::Hashable
557
616
 
558
- # Received Pub/Sub messages. The Pub/Sub system will return zero messages if
559
- # there are no more available in the backlog. The Pub/Sub system may return
560
- # fewer than the `maxMessages` requested even if there are more messages
561
- # available in the backlog.
562
- # Corresponds to the JSON property `receivedMessages`
563
- # @return [Array<Google::Apis::PubsubV1::ReceivedMessage>]
564
- attr_accessor :received_messages
565
-
566
- def initialize(**args)
567
- update!(**args)
568
- end
617
+ # The time at which the message was published, populated by the server when
618
+ # it receives the `Publish` call. It must not be populated by the
619
+ # publisher in a `Publish` call.
620
+ # Corresponds to the JSON property `publishTime`
621
+ # @return [String]
622
+ attr_accessor :publish_time
569
623
 
570
- # Update properties of this object
571
- def update!(**args)
572
- @received_messages = args[:received_messages] if args.key?(:received_messages)
573
- end
574
- end
624
+ # The message payload.
625
+ # Corresponds to the JSON property `data`
626
+ # @return [String]
627
+ attr_accessor :data
575
628
 
576
- # A message and its corresponding acknowledgment ID.
577
- class ReceivedMessage
578
- include Google::Apis::Core::Hashable
629
+ # Optional attributes for this message.
630
+ # Corresponds to the JSON property `attributes`
631
+ # @return [Hash<String,String>]
632
+ attr_accessor :attributes
579
633
 
580
- # This ID can be used to acknowledge the received message.
581
- # Corresponds to the JSON property `ackId`
634
+ # ID of this message, assigned by the server when the message is published.
635
+ # Guaranteed to be unique within the topic. This value may be read by a
636
+ # subscriber that receives a `PubsubMessage` via a `Pull` call or a push
637
+ # delivery. It must not be populated by the publisher in a `Publish` call.
638
+ # Corresponds to the JSON property `messageId`
582
639
  # @return [String]
583
- attr_accessor :ack_id
584
-
585
- # A message data and its attributes. The message payload must not be empty; it
586
- # must contain either a non-empty data field, or at least one attribute.
587
- # Corresponds to the JSON property `message`
588
- # @return [Google::Apis::PubsubV1::Message]
589
- attr_accessor :message
640
+ attr_accessor :message_id
590
641
 
591
642
  def initialize(**args)
592
643
  update!(**args)
@@ -594,8 +645,10 @@ module Google
594
645
 
595
646
  # Update properties of this object
596
647
  def update!(**args)
597
- @ack_id = args[:ack_id] if args.key?(:ack_id)
598
- @message = args[:message] if args.key?(:message)
648
+ @publish_time = args[:publish_time] if args.key?(:publish_time)
649
+ @data = args[:data] if args.key?(:data)
650
+ @attributes = args[:attributes] if args.key?(:attributes)
651
+ @message_id = args[:message_id] if args.key?(:message_id)
599
652
  end
600
653
  end
601
654