google-api-client 0.8.7 → 0.9.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (397) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +20 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +7 -0
  5. data/.rubocop_todo.yml +63 -0
  6. data/.travis.yml +21 -0
  7. data/.yardopts +12 -0
  8. data/CHANGELOG.md +6 -3
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +28 -2
  11. data/MIGRATING.md +171 -0
  12. data/README.md +158 -150
  13. data/Rakefile +1 -40
  14. data/api_names.yaml +872 -0
  15. data/api_names_out.yaml +20843 -0
  16. data/bin/generate-api +93 -0
  17. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  18. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1124 -0
  19. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +375 -0
  20. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +893 -0
  21. data/generated/google/apis/adexchangeseller_v2_0.rb +38 -0
  22. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
  23. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +309 -0
  24. data/generated/google/apis/adexchangeseller_v2_0/service.rb +682 -0
  25. data/generated/google/apis/admin_directory_v1.rb +89 -0
  26. data/generated/google/apis/admin_directory_v1/classes.rb +2389 -0
  27. data/generated/google/apis/admin_directory_v1/representations.rb +780 -0
  28. data/generated/google/apis/admin_directory_v1/service.rb +2805 -0
  29. data/generated/google/apis/admin_reports_v1.rb +38 -0
  30. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  31. data/generated/google/apis/admin_reports_v1/representations.rb +231 -0
  32. data/generated/google/apis/admin_reports_v1/service.rb +341 -0
  33. data/generated/google/apis/adsense_v1_4.rb +38 -0
  34. data/generated/google/apis/adsense_v1_4/classes.rb +1279 -0
  35. data/generated/google/apis/adsense_v1_4/representations.rb +493 -0
  36. data/generated/google/apis/adsense_v1_4/service.rb +1752 -0
  37. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  38. data/generated/google/apis/adsensehost_v4_1/classes.rb +834 -0
  39. data/generated/google/apis/adsensehost_v4_1/representations.rb +327 -0
  40. data/generated/google/apis/adsensehost_v4_1/service.rb +1190 -0
  41. data/generated/google/apis/analytics_v3.rb +49 -0
  42. data/generated/google/apis/analytics_v3/classes.rb +5113 -0
  43. data/generated/google/apis/analytics_v3/representations.rb +1661 -0
  44. data/generated/google/apis/analytics_v3/service.rb +3600 -0
  45. data/generated/google/apis/androidenterprise_v1.rb +34 -0
  46. data/generated/google/apis/androidenterprise_v1/classes.rb +1162 -0
  47. data/generated/google/apis/androidenterprise_v1/representations.rb +431 -0
  48. data/generated/google/apis/androidenterprise_v1/service.rb +1979 -0
  49. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  50. data/generated/google/apis/androidpublisher_v2/classes.rb +1374 -0
  51. data/generated/google/apis/androidpublisher_v2/representations.rb +630 -0
  52. data/generated/google/apis/androidpublisher_v2/service.rb +2390 -0
  53. data/generated/google/apis/appsactivity_v1.rb +46 -0
  54. data/generated/google/apis/appsactivity_v1/classes.rb +392 -0
  55. data/generated/google/apis/appsactivity_v1/representations.rb +184 -0
  56. data/generated/google/apis/appsactivity_v1/service.rb +129 -0
  57. data/generated/google/apis/appstate_v1.rb +34 -0
  58. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  59. data/generated/google/apis/appstate_v1/representations.rb +79 -0
  60. data/generated/google/apis/appstate_v1/service.rb +265 -0
  61. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  62. data/generated/google/apis/autoscaler_v1beta2/classes.rb +747 -0
  63. data/generated/google/apis/autoscaler_v1beta2/representations.rb +281 -0
  64. data/generated/google/apis/autoscaler_v1beta2/service.rb +488 -0
  65. data/generated/google/apis/bigquery_v2.rb +49 -0
  66. data/generated/google/apis/bigquery_v2/classes.rb +2255 -0
  67. data/generated/google/apis/bigquery_v2/representations.rb +754 -0
  68. data/generated/google/apis/bigquery_v2/service.rb +1003 -0
  69. data/generated/google/apis/blogger_v3.rb +37 -0
  70. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  71. data/generated/google/apis/blogger_v3/representations.rb +562 -0
  72. data/generated/google/apis/blogger_v3/service.rb +1620 -0
  73. data/generated/google/apis/books_v1.rb +34 -0
  74. data/generated/google/apis/books_v1/classes.rb +3515 -0
  75. data/generated/google/apis/books_v1/representations.rb +1361 -0
  76. data/generated/google/apis/books_v1/service.rb +2170 -0
  77. data/generated/google/apis/calendar_v3.rb +37 -0
  78. data/generated/google/apis/calendar_v3/classes.rb +1702 -0
  79. data/generated/google/apis/calendar_v3/representations.rb +566 -0
  80. data/generated/google/apis/calendar_v3/service.rb +1943 -0
  81. data/generated/google/apis/civicinfo_v2.rb +31 -0
  82. data/generated/google/apis/civicinfo_v2/classes.rb +1057 -0
  83. data/generated/google/apis/civicinfo_v2/representations.rb +374 -0
  84. data/generated/google/apis/civicinfo_v2/service.rb +284 -0
  85. data/generated/google/apis/cloudmonitoring_v2beta2.rb +34 -0
  86. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  87. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +311 -0
  88. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +458 -0
  89. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  90. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +139 -0
  91. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +65 -0
  92. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +301 -0
  93. data/generated/google/apis/compute_v1.rb +49 -0
  94. data/generated/google/apis/compute_v1/classes.rb +6391 -0
  95. data/generated/google/apis/compute_v1/representations.rb +2209 -0
  96. data/generated/google/apis/compute_v1/service.rb +6352 -0
  97. data/generated/google/apis/container_v1beta1.rb +35 -0
  98. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  99. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  100. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  101. data/generated/google/apis/content_v2.rb +35 -0
  102. data/generated/google/apis/content_v2/classes.rb +3780 -0
  103. data/generated/google/apis/content_v2/representations.rb +1456 -0
  104. data/generated/google/apis/content_v2/service.rb +1706 -0
  105. data/generated/google/apis/coordinate_v1.rb +37 -0
  106. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  107. data/generated/google/apis/coordinate_v1/representations.rb +285 -0
  108. data/generated/google/apis/coordinate_v1/service.rb +687 -0
  109. data/{lib/google/api_client/auth/compute_service_account.rb → generated/google/apis/customsearch_v1.rb} +13 -10
  110. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  111. data/generated/google/apis/customsearch_v1/representations.rb +276 -0
  112. data/generated/google/apis/customsearch_v1/service.rb +208 -0
  113. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  114. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  115. data/generated/google/apis/datastore_v1beta2/representations.rb +526 -0
  116. data/generated/google/apis/datastore_v1beta2/service.rb +300 -0
  117. data/generated/google/apis/deploymentmanager_v2beta2.rb +41 -0
  118. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +820 -0
  119. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +303 -0
  120. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +647 -0
  121. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  122. data/generated/google/apis/dfareporting_v2_1/classes.rb +10755 -0
  123. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  124. data/generated/google/apis/dfareporting_v2_1/service.rb +8775 -0
  125. data/generated/google/apis/discovery_v1.rb +32 -0
  126. data/generated/google/apis/discovery_v1/classes.rb +947 -0
  127. data/generated/google/apis/discovery_v1/representations.rb +355 -0
  128. data/generated/google/apis/discovery_v1/service.rb +144 -0
  129. data/generated/google/apis/dns_v1.rb +41 -0
  130. data/generated/google/apis/dns_v1/classes.rb +406 -0
  131. data/generated/google/apis/dns_v1/representations.rb +151 -0
  132. data/generated/google/apis/dns_v1/service.rb +460 -0
  133. data/{spec/google/api_client/request_spec.rb → generated/google/apis/doubleclickbidmanager_v1.rb} +15 -13
  134. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +709 -0
  135. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +297 -0
  136. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +349 -0
  137. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  138. data/generated/google/apis/doubleclicksearch_v2/classes.rb +947 -0
  139. data/generated/google/apis/doubleclicksearch_v2/representations.rb +315 -0
  140. data/generated/google/apis/doubleclicksearch_v2/service.rb +490 -0
  141. data/generated/google/apis/drive_v2.rb +55 -0
  142. data/generated/google/apis/drive_v2/classes.rb +2519 -0
  143. data/generated/google/apis/drive_v2/representations.rb +781 -0
  144. data/generated/google/apis/drive_v2/service.rb +2685 -0
  145. data/generated/google/apis/fitness_v1.rb +49 -0
  146. data/generated/google/apis/fitness_v1/classes.rb +809 -0
  147. data/generated/google/apis/fitness_v1/representations.rb +295 -0
  148. data/generated/google/apis/fitness_v1/service.rb +684 -0
  149. data/generated/google/apis/fusiontables_v2.rb +37 -0
  150. data/generated/google/apis/fusiontables_v2/classes.rb +1048 -0
  151. data/generated/google/apis/fusiontables_v2/representations.rb +409 -0
  152. data/generated/google/apis/fusiontables_v2/service.rb +1496 -0
  153. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  154. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  155. data/generated/google/apis/games_configuration_v1configuration/representations.rb +206 -0
  156. data/generated/google/apis/games_configuration_v1configuration/service.rb +578 -0
  157. data/generated/google/apis/games_v1.rb +40 -0
  158. data/generated/google/apis/games_v1/classes.rb +4578 -0
  159. data/generated/google/apis/games_v1/representations.rb +1570 -0
  160. data/generated/google/apis/games_v1/service.rb +2306 -0
  161. data/generated/google/apis/gan_v1beta1.rb +31 -0
  162. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  163. data/generated/google/apis/gan_v1beta1/representations.rb +428 -0
  164. data/generated/google/apis/gan_v1beta1/service.rb +692 -0
  165. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  166. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  167. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  168. data/generated/google/apis/genomics_v1beta2/service.rb +2356 -0
  169. data/generated/google/apis/gmail_v1.rb +49 -0
  170. data/generated/google/apis/gmail_v1/classes.rb +794 -0
  171. data/generated/google/apis/gmail_v1/representations.rb +339 -0
  172. data/generated/google/apis/gmail_v1/service.rb +1502 -0
  173. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  174. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  175. data/generated/google/apis/groupsmigration_v1/representations.rb +38 -0
  176. data/generated/google/apis/groupsmigration_v1/service.rb +111 -0
  177. data/generated/google/apis/groupssettings_v1.rb +34 -0
  178. data/generated/google/apis/groupssettings_v1/classes.rb +221 -0
  179. data/generated/google/apis/groupssettings_v1/representations.rb +64 -0
  180. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  181. data/generated/google/apis/identitytoolkit_v3.rb +31 -0
  182. data/generated/google/apis/identitytoolkit_v3/classes.rb +1229 -0
  183. data/generated/google/apis/identitytoolkit_v3/representations.rb +422 -0
  184. data/generated/google/apis/identitytoolkit_v3/service.rb +491 -0
  185. data/generated/google/apis/licensing_v1.rb +34 -0
  186. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  187. data/generated/google/apis/licensing_v1/representations.rb +68 -0
  188. data/generated/google/apis/licensing_v1/service.rb +376 -0
  189. data/generated/google/apis/logging_v1beta3.rb +35 -0
  190. data/generated/google/apis/logging_v1beta3/classes.rb +505 -0
  191. data/generated/google/apis/logging_v1beta3/representations.rb +222 -0
  192. data/generated/google/apis/logging_v1beta3/service.rb +670 -0
  193. data/generated/google/apis/manager_v1beta2.rb +50 -0
  194. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  195. data/generated/google/apis/manager_v1beta2/representations.rb +536 -0
  196. data/generated/google/apis/manager_v1beta2/service.rb +380 -0
  197. data/generated/google/apis/mapsengine_v1.rb +38 -0
  198. data/generated/google/apis/mapsengine_v1/classes.rb +2873 -0
  199. data/generated/google/apis/mapsengine_v1/representations.rb +1235 -0
  200. data/generated/google/apis/mapsengine_v1/service.rb +3465 -0
  201. data/generated/google/apis/mirror_v1.rb +37 -0
  202. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  203. data/generated/google/apis/mirror_v1/representations.rb +350 -0
  204. data/generated/google/apis/mirror_v1/service.rb +1001 -0
  205. data/generated/google/apis/oauth2_v2.rb +43 -0
  206. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  207. data/generated/google/apis/oauth2_v2/representations.rb +94 -0
  208. data/generated/google/apis/oauth2_v2/service.rb +203 -0
  209. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  210. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  211. data/generated/google/apis/pagespeedonline_v2/representations.rb +244 -0
  212. data/generated/google/apis/pagespeedonline_v2/service.rb +120 -0
  213. data/generated/google/apis/plus_domains_v1.rb +61 -0
  214. data/generated/google/apis/plus_domains_v1/classes.rb +2402 -0
  215. data/generated/google/apis/plus_domains_v1/representations.rb +873 -0
  216. data/generated/google/apis/plus_domains_v1/service.rb +924 -0
  217. data/generated/google/apis/plus_v1.rb +43 -0
  218. data/generated/google/apis/plus_v1/classes.rb +2384 -0
  219. data/generated/google/apis/plus_v1/representations.rb +812 -0
  220. data/generated/google/apis/plus_v1/service.rb +616 -0
  221. data/generated/google/apis/prediction_v1_6.rb +44 -0
  222. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  223. data/generated/google/apis/prediction_v1_6/representations.rb +327 -0
  224. data/generated/google/apis/prediction_v1_6/service.rb +388 -0
  225. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  226. data/generated/google/apis/pubsub_v1beta2/classes.rb +824 -0
  227. data/generated/google/apis/pubsub_v1beta2/representations.rb +366 -0
  228. data/generated/google/apis/pubsub_v1beta2/service.rb +778 -0
  229. data/generated/google/apis/qpx_express_v1.rb +31 -0
  230. data/generated/google/apis/qpx_express_v1/classes.rb +1268 -0
  231. data/generated/google/apis/qpx_express_v1/representations.rb +424 -0
  232. data/generated/google/apis/qpx_express_v1/service.rb +101 -0
  233. data/generated/google/apis/replicapool_v1beta2.rb +41 -0
  234. data/generated/google/apis/replicapool_v1beta2/classes.rb +621 -0
  235. data/generated/google/apis/replicapool_v1beta2/representations.rb +235 -0
  236. data/generated/google/apis/replicapool_v1beta2/service.rb +620 -0
  237. data/generated/google/apis/replicapoolupdater_v1beta1.rb +41 -0
  238. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +682 -0
  239. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +247 -0
  240. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +472 -0
  241. data/generated/google/apis/reseller_v1.rb +37 -0
  242. data/generated/google/apis/reseller_v1/classes.rb +502 -0
  243. data/generated/google/apis/reseller_v1/representations.rb +199 -0
  244. data/generated/google/apis/reseller_v1/service.rb +637 -0
  245. data/generated/google/apis/resourceviews_v1beta2.rb +47 -0
  246. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  247. data/generated/google/apis/resourceviews_v1beta2/representations.rb +269 -0
  248. data/generated/google/apis/resourceviews_v1beta2/service.rb +574 -0
  249. data/generated/google/apis/site_verification_v1.rb +37 -0
  250. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  251. data/generated/google/apis/site_verification_v1/representations.rb +101 -0
  252. data/generated/google/apis/site_verification_v1/service.rb +322 -0
  253. data/generated/google/apis/sqladmin_v1beta4.rb +37 -0
  254. data/generated/google/apis/sqladmin_v1beta4/classes.rb +1817 -0
  255. data/generated/google/apis/sqladmin_v1beta4/representations.rb +688 -0
  256. data/generated/google/apis/sqladmin_v1beta4/service.rb +1534 -0
  257. data/generated/google/apis/storage_v1.rb +43 -0
  258. data/generated/google/apis/storage_v1/classes.rb +1177 -0
  259. data/generated/google/apis/storage_v1/representations.rb +427 -0
  260. data/generated/google/apis/storage_v1/service.rb +1920 -0
  261. data/generated/google/apis/tagmanager_v1.rb +52 -0
  262. data/generated/google/apis/tagmanager_v1/classes.rb +1226 -0
  263. data/generated/google/apis/tagmanager_v1/representations.rb +461 -0
  264. data/generated/google/apis/tagmanager_v1/service.rb +1978 -0
  265. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  266. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  267. data/generated/google/apis/taskqueue_v1beta2/representations.rb +114 -0
  268. data/generated/google/apis/taskqueue_v1beta2/service.rb +416 -0
  269. data/generated/google/apis/tasks_v1.rb +37 -0
  270. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  271. data/generated/google/apis/tasks_v1/representations.rb +115 -0
  272. data/generated/google/apis/tasks_v1/service.rb +657 -0
  273. data/generated/google/apis/translate_v2.rb +31 -0
  274. data/generated/google/apis/translate_v2/classes.rb +168 -0
  275. data/generated/google/apis/translate_v2/representations.rb +109 -0
  276. data/generated/google/apis/translate_v2/service.rb +185 -0
  277. data/generated/google/apis/urlshortener_v1.rb +34 -0
  278. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  279. data/generated/google/apis/urlshortener_v1/representations.rb +111 -0
  280. data/generated/google/apis/urlshortener_v1/service.rb +179 -0
  281. data/generated/google/apis/webmasters_v3.rb +37 -0
  282. data/generated/google/apis/webmasters_v3/classes.rb +563 -0
  283. data/generated/google/apis/webmasters_v3/representations.rb +250 -0
  284. data/generated/google/apis/webmasters_v3/service.rb +587 -0
  285. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  286. data/generated/google/apis/youtube_analytics_v1/classes.rb +540 -0
  287. data/generated/google/apis/youtube_analytics_v1/representations.rb +242 -0
  288. data/generated/google/apis/youtube_analytics_v1/service.rb +567 -0
  289. data/generated/google/apis/youtube_v3.rb +49 -0
  290. data/generated/google/apis/youtube_v3/classes.rb +7225 -0
  291. data/generated/google/apis/youtube_v3/representations.rb +2529 -0
  292. data/generated/google/apis/youtube_v3/service.rb +4051 -0
  293. data/google-api-client.gemspec +27 -39
  294. data/lib/google/api_client/auth/storage.rb +3 -2
  295. data/lib/google/api_client/auth/storages/file_store.rb +1 -3
  296. data/lib/google/api_client/auth/storages/redis_store.rb +6 -2
  297. data/lib/google/apis.rb +48 -0
  298. data/lib/google/apis/core/api_command.rb +128 -0
  299. data/lib/google/apis/core/base_service.rb +314 -0
  300. data/lib/google/apis/core/batch.rb +222 -0
  301. data/lib/google/apis/core/download.rb +94 -0
  302. data/lib/google/apis/core/hashable.rb +44 -0
  303. data/lib/google/apis/core/http_command.rb +275 -0
  304. data/lib/google/apis/core/json_representation.rb +122 -0
  305. data/lib/google/{api_client/version.rb → apis/core/logging.rb} +12 -8
  306. data/lib/google/apis/core/multipart.rb +173 -0
  307. data/lib/google/apis/core/upload.rb +275 -0
  308. data/lib/google/{api_client → apis}/errors.rb +32 -28
  309. data/lib/google/apis/generator.rb +70 -0
  310. data/lib/google/apis/generator/annotator.rb +271 -0
  311. data/lib/google/apis/generator/helpers.rb +74 -0
  312. data/lib/google/apis/generator/model.rb +130 -0
  313. data/lib/google/apis/generator/template.rb +124 -0
  314. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  315. data/lib/google/apis/generator/templates/_method.tmpl +90 -0
  316. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  317. data/lib/google/apis/generator/templates/_representation_stub.tmpl +15 -0
  318. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  319. data/lib/google/{api_client/reference.rb → apis/generator/templates/classes.rb.tmpl} +11 -9
  320. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  321. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  322. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  323. data/lib/google/apis/options.rb +79 -0
  324. data/lib/google/apis/version.rb +39 -0
  325. data/rakelib/metrics.rake +22 -0
  326. data/rakelib/rubocop.rake +10 -0
  327. data/rakelib/spec.rake +11 -0
  328. data/rakelib/yard.rake +11 -0
  329. data/samples/calendar/calendar.rb +43 -0
  330. data/samples/drive/drive.rb +40 -0
  331. data/samples/pubsub/pubsub.rb +52 -0
  332. data/{lib/google/api_client/discovery.rb → samples/translate/translate.rb} +14 -5
  333. data/script/generate +79 -0
  334. data/script/package +8 -0
  335. data/script/release +15 -0
  336. data/spec/fixtures/files/api_names.yaml +3 -0
  337. data/spec/fixtures/files/auth_stored_credentials.json +8 -0
  338. data/spec/fixtures/files/client_secrets.json +1 -0
  339. data/spec/fixtures/files/test.blah +1 -0
  340. data/spec/fixtures/files/test.txt +1 -0
  341. data/spec/fixtures/files/test_api.json +440 -0
  342. data/spec/google/api_client/auth/storage_spec.rb +1 -3
  343. data/spec/google/api_client/auth/storages/file_store_spec.rb +1 -2
  344. data/spec/google/api_client/auth/storages/redis_store_spec.rb +1 -3
  345. data/spec/google/apis/core/api_command_spec.rb +170 -0
  346. data/spec/google/apis/core/batch_spec.rb +128 -0
  347. data/spec/google/apis/core/download_spec.rb +90 -0
  348. data/spec/google/apis/core/hashable_spec.rb +60 -0
  349. data/spec/google/apis/core/http_command_spec.rb +238 -0
  350. data/spec/google/apis/core/json_representation_spec.rb +192 -0
  351. data/spec/google/apis/core/service_spec.rb +247 -0
  352. data/spec/google/apis/core/upload_spec.rb +238 -0
  353. data/{lib/google/api_client/service_account.rb → spec/google/apis/generated_spec.rb} +14 -8
  354. data/spec/google/apis/generator/generator_spec.rb +272 -0
  355. data/spec/google/apis/logging_spec.rb +45 -0
  356. data/spec/google/apis/options_spec.rb +40 -0
  357. data/spec/integration_tests/drive_spec.rb +35 -0
  358. data/spec/integration_tests/pubsub_spec.rb +48 -0
  359. data/spec/integration_tests/url_shortener_spec.rb +31 -0
  360. data/spec/spec_helper.rb +102 -46
  361. metadata +433 -178
  362. data/lib/compat/multi_json.rb +0 -19
  363. data/lib/google/api_client.rb +0 -750
  364. data/lib/google/api_client/auth/file_storage.rb +0 -59
  365. data/lib/google/api_client/auth/jwt_asserter.rb +0 -126
  366. data/lib/google/api_client/auth/key_utils.rb +0 -93
  367. data/lib/google/api_client/auth/pkcs12.rb +0 -41
  368. data/lib/google/api_client/batch.rb +0 -326
  369. data/lib/google/api_client/charset.rb +0 -33
  370. data/lib/google/api_client/discovery/api.rb +0 -310
  371. data/lib/google/api_client/discovery/media.rb +0 -77
  372. data/lib/google/api_client/discovery/method.rb +0 -363
  373. data/lib/google/api_client/discovery/resource.rb +0 -156
  374. data/lib/google/api_client/discovery/schema.rb +0 -117
  375. data/lib/google/api_client/environment.rb +0 -42
  376. data/lib/google/api_client/gzip.rb +0 -28
  377. data/lib/google/api_client/logging.rb +0 -32
  378. data/lib/google/api_client/media.rb +0 -259
  379. data/lib/google/api_client/railtie.rb +0 -18
  380. data/lib/google/api_client/request.rb +0 -350
  381. data/lib/google/api_client/result.rb +0 -255
  382. data/lib/google/api_client/service.rb +0 -233
  383. data/lib/google/api_client/service/batch.rb +0 -110
  384. data/lib/google/api_client/service/request.rb +0 -144
  385. data/lib/google/api_client/service/resource.rb +0 -40
  386. data/lib/google/api_client/service/result.rb +0 -162
  387. data/lib/google/api_client/service/simple_file_store.rb +0 -151
  388. data/lib/google/api_client/service/stub_generator.rb +0 -61
  389. data/spec/google/api_client/batch_spec.rb +0 -248
  390. data/spec/google/api_client/discovery_spec.rb +0 -708
  391. data/spec/google/api_client/gzip_spec.rb +0 -98
  392. data/spec/google/api_client/media_spec.rb +0 -178
  393. data/spec/google/api_client/result_spec.rb +0 -207
  394. data/spec/google/api_client/service_account_spec.rb +0 -169
  395. data/spec/google/api_client/service_spec.rb +0 -618
  396. data/spec/google/api_client/simple_file_store_spec.rb +0 -133
  397. data/spec/google/api_client_spec.rb +0 -352
@@ -0,0 +1,37 @@
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/pubsub_v1beta2/service.rb'
16
+ require 'google/apis/pubsub_v1beta2/classes.rb'
17
+ require 'google/apis/pubsub_v1beta2/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Google Cloud Pub/Sub API
22
+ #
23
+ # Provides reliable, many-to-many, asynchronous messaging between applications.
24
+ #
25
+ # @see https://cloud.google.com/pubsub/docs
26
+ module PubsubV1beta2
27
+ VERSION = 'V1beta2'
28
+ REVISION = '20150427'
29
+
30
+ # View and manage your data across Google Cloud Platform services
31
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
32
+
33
+ # View and manage Pub/Sub topics and subscriptions
34
+ AUTH_PUBSUB = 'https://www.googleapis.com/auth/pubsub'
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,824 @@
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 PubsubV1beta2
24
+
25
+ # Request message for `SetIamPolicy` method.
26
+ class SetIamPolicyRequest
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # # Overview The `Policy` defines an access control policy language. It can be
30
+ # used to define policies that can be attached to resources like files, folders,
31
+ # VMs, etc. # Policy structure A `Policy` consists of a list of bindings. A `
32
+ # Binding` binds a set of members to a role, where the members can include user
33
+ # accounts, user groups, user domains, and service accounts. A role is a named
34
+ # set of permissions, defined by the IAM system. The definition of a role is
35
+ # outside the policy. A permission check involves determining the roles that
36
+ # include the specified permission, and then determining if the principal
37
+ # specified by the check is a member of a binding to at least one of these roles.
38
+ # The membership check is recursive when a group is bound to a role. Policy
39
+ # examples: ``` ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@
40
+ # example.com", "group::admins@example.com", "domain:google.com", "
41
+ # serviceAccount:frontend@example.iam.gserviceaccounts.com"] `, ` "role": "roles/
42
+ # viewer", "members": ["user:sean@example.com"] ` ] ` ```
43
+ # Corresponds to the JSON property `policy`
44
+ # @return [Google::Apis::PubsubV1beta2::Policy]
45
+ attr_accessor :policy
46
+
47
+ def initialize(**args)
48
+ update!(**args)
49
+ end
50
+
51
+ # Update properties of this object
52
+ def update!(**args)
53
+ @policy = args[:policy] unless args[:policy].nil?
54
+ end
55
+ end
56
+
57
+ # # Overview The `Policy` defines an access control policy language. It can be
58
+ # used to define policies that can be attached to resources like files, folders,
59
+ # VMs, etc. # Policy structure A `Policy` consists of a list of bindings. A `
60
+ # Binding` binds a set of members to a role, where the members can include user
61
+ # accounts, user groups, user domains, and service accounts. A role is a named
62
+ # set of permissions, defined by the IAM system. The definition of a role is
63
+ # outside the policy. A permission check involves determining the roles that
64
+ # include the specified permission, and then determining if the principal
65
+ # specified by the check is a member of a binding to at least one of these roles.
66
+ # The membership check is recursive when a group is bound to a role. Policy
67
+ # examples: ``` ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@
68
+ # example.com", "group::admins@example.com", "domain:google.com", "
69
+ # serviceAccount:frontend@example.iam.gserviceaccounts.com"] `, ` "role": "roles/
70
+ # viewer", "members": ["user:sean@example.com"] ` ] ` ```
71
+ class Policy
72
+ include Google::Apis::Core::Hashable
73
+
74
+ # The policy language version. The version of the policy itself is represented
75
+ # by the etag. The current version is 0.
76
+ # Corresponds to the JSON property `version`
77
+ # @return [Fixnum]
78
+ attr_accessor :version
79
+
80
+ # It is an error to specify multiple bindings for the same role. It is an error
81
+ # to specify a binding with no members.
82
+ # Corresponds to the JSON property `bindings`
83
+ # @return [Array<Google::Apis::PubsubV1beta2::Binding>]
84
+ attr_accessor :bindings
85
+
86
+ #
87
+ # Corresponds to the JSON property `rules`
88
+ # @return [Array<Google::Apis::PubsubV1beta2::Rule>]
89
+ attr_accessor :rules
90
+
91
+ # Can be used to perform a read-modify-write.
92
+ # Corresponds to the JSON property `etag`
93
+ # @return [String]
94
+ attr_accessor :etag
95
+
96
+ def initialize(**args)
97
+ update!(**args)
98
+ end
99
+
100
+ # Update properties of this object
101
+ def update!(**args)
102
+ @version = args[:version] unless args[:version].nil?
103
+ @bindings = args[:bindings] unless args[:bindings].nil?
104
+ @rules = args[:rules] unless args[:rules].nil?
105
+ @etag = args[:etag] unless args[:etag].nil?
106
+ end
107
+ end
108
+
109
+ # Associates members of various types with roles. See below for details of the
110
+ # various objects that can be included as members.
111
+ class Binding
112
+ include Google::Apis::Core::Hashable
113
+
114
+ # The name of the role to which the members should be bound. Examples: "roles/
115
+ # viewer", "roles/editor", "roles/owner". Required
116
+ # Corresponds to the JSON property `role`
117
+ # @return [String]
118
+ attr_accessor :role
119
+
120
+ # Format of member entries: 1. allUsers Matches any requesting principal (users,
121
+ # service accounts or anonymous). 2. allAuthenticatedUsers Matches any
122
+ # requesting authenticated principal (users or service accounts). 3. user:`
123
+ # emailid` A google user account using an email address. For example alice@gmail.
124
+ # com, joe@example.com 4. serviceAccount:`emailid` An service account email. 5.
125
+ # group:`emailid` A google group with an email address. For example auth-ti-
126
+ # cloud@google.com 6. domain:`domain` A Google Apps domain name. For example
127
+ # google.com, example.com
128
+ # Corresponds to the JSON property `members`
129
+ # @return [Array<String>]
130
+ attr_accessor :members
131
+
132
+ def initialize(**args)
133
+ update!(**args)
134
+ end
135
+
136
+ # Update properties of this object
137
+ def update!(**args)
138
+ @role = args[:role] unless args[:role].nil?
139
+ @members = args[:members] unless args[:members].nil?
140
+ end
141
+ end
142
+
143
+ # A rule to be applied in a Policy.
144
+ class Rule
145
+ include Google::Apis::Core::Hashable
146
+
147
+ # Human-readable description of the rule.
148
+ # Corresponds to the JSON property `description`
149
+ # @return [String]
150
+ attr_accessor :description
151
+
152
+ # A permission is a string of form '..' (e.g., 'storage.buckets.list'). A value
153
+ # of '*' matches all permissions, and a verb part of '*' (e.g., 'storage.buckets.
154
+ # *') matches all verbs.
155
+ # Corresponds to the JSON property `permissions`
156
+ # @return [Array<String>]
157
+ attr_accessor :permissions
158
+
159
+ # Required
160
+ # Corresponds to the JSON property `action`
161
+ # @return [String]
162
+ attr_accessor :action
163
+
164
+ # The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in this set of entries.
165
+ # Corresponds to the JSON property `in`
166
+ # @return [Array<String>]
167
+ attr_accessor :in
168
+
169
+ # The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is not in this set of
170
+ # entries. The formation for in and not_in entries is the same as members in a
171
+ # Binding above.
172
+ # Corresponds to the JSON property `notIn`
173
+ # @return [Array<String>]
174
+ attr_accessor :not_in
175
+
176
+ # Additional restrictions that must be met
177
+ # Corresponds to the JSON property `conditions`
178
+ # @return [Array<Google::Apis::PubsubV1beta2::Condition>]
179
+ attr_accessor :conditions
180
+
181
+ # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries
182
+ # that match the LOG action.
183
+ # Corresponds to the JSON property `logConfig`
184
+ # @return [Array<Google::Apis::PubsubV1beta2::LogConfig>]
185
+ attr_accessor :log_config
186
+
187
+ def initialize(**args)
188
+ update!(**args)
189
+ end
190
+
191
+ # Update properties of this object
192
+ def update!(**args)
193
+ @description = args[:description] unless args[:description].nil?
194
+ @permissions = args[:permissions] unless args[:permissions].nil?
195
+ @action = args[:action] unless args[:action].nil?
196
+ @in = args[:in] unless args[:in].nil?
197
+ @not_in = args[:not_in] unless args[:not_in].nil?
198
+ @conditions = args[:conditions] unless args[:conditions].nil?
199
+ @log_config = args[:log_config] unless args[:log_config].nil?
200
+ end
201
+ end
202
+
203
+ # A condition to be met.
204
+ class Condition
205
+ include Google::Apis::Core::Hashable
206
+
207
+ # Trusted attributes supplied by the IAM system.
208
+ # Corresponds to the JSON property `iam`
209
+ # @return [String]
210
+ attr_accessor :iam
211
+
212
+ # Trusted attributes supplied by any service that owns resources and uses the
213
+ # IAM system for access control.
214
+ # Corresponds to the JSON property `sys`
215
+ # @return [String]
216
+ attr_accessor :sys
217
+
218
+ # Trusted attributes discharged by the service.
219
+ # Corresponds to the JSON property `svc`
220
+ # @return [String]
221
+ attr_accessor :svc
222
+
223
+ # An operator to apply the subject with.
224
+ # Corresponds to the JSON property `op`
225
+ # @return [String]
226
+ attr_accessor :op
227
+
228
+ # The object of the condition. Exactly one of these must be set.
229
+ # Corresponds to the JSON property `value`
230
+ # @return [String]
231
+ attr_accessor :value
232
+
233
+ # The objects of the condition. This is mutually exclusive with 'value'.
234
+ # Corresponds to the JSON property `values`
235
+ # @return [Array<String>]
236
+ attr_accessor :values
237
+
238
+ def initialize(**args)
239
+ update!(**args)
240
+ end
241
+
242
+ # Update properties of this object
243
+ def update!(**args)
244
+ @iam = args[:iam] unless args[:iam].nil?
245
+ @sys = args[:sys] unless args[:sys].nil?
246
+ @svc = args[:svc] unless args[:svc].nil?
247
+ @op = args[:op] unless args[:op].nil?
248
+ @value = args[:value] unless args[:value].nil?
249
+ @values = args[:values] unless args[:values].nil?
250
+ end
251
+ end
252
+
253
+ # Specifies what kind of log the caller must write Increment a streamz counter
254
+ # with the specified metric and field names. Metric names should start with a '/'
255
+ # , generally be lowercase-only, and end in "_count". Field names should not
256
+ # contain an initial slash. The actual exported metric names will have "/iam/
257
+ # policy" prepended. Field names correspond to IAM request parameters and field
258
+ # values are their respective values. At present only "iam_principal",
259
+ # corresponding to IAMContext.principal, is supported. Examples: counter `
260
+ # metric: "/debug_access_count" field: "iam_principal" ` ==> increment counter /
261
+ # iam/policy/backend_debug_access_count `iam_principal=[value of IAMContext.
262
+ # principal]` At this time we do not support: * multiple field names (though
263
+ # this may be supported in the future) * decrementing the counter * incrementing
264
+ # it by anything other than 1
265
+ class LogConfig
266
+ include Google::Apis::Core::Hashable
267
+
268
+ # Options for counters
269
+ # Corresponds to the JSON property `counter`
270
+ # @return [Google::Apis::PubsubV1beta2::CounterOptions]
271
+ attr_accessor :counter
272
+
273
+ # Write a Data Access (Gin) log
274
+ # Corresponds to the JSON property `dataAccess`
275
+ # @return [Google::Apis::PubsubV1beta2::DataAccessOptions]
276
+ attr_accessor :data_access
277
+
278
+ # Write a Cloud Audit log
279
+ # Corresponds to the JSON property `cloudAudit`
280
+ # @return [Google::Apis::PubsubV1beta2::CloudAuditOptions]
281
+ attr_accessor :cloud_audit
282
+
283
+ def initialize(**args)
284
+ update!(**args)
285
+ end
286
+
287
+ # Update properties of this object
288
+ def update!(**args)
289
+ @counter = args[:counter] unless args[:counter].nil?
290
+ @data_access = args[:data_access] unless args[:data_access].nil?
291
+ @cloud_audit = args[:cloud_audit] unless args[:cloud_audit].nil?
292
+ end
293
+ end
294
+
295
+ # Options for counters
296
+ class CounterOptions
297
+ include Google::Apis::Core::Hashable
298
+
299
+ # The metric to update.
300
+ # Corresponds to the JSON property `metric`
301
+ # @return [String]
302
+ attr_accessor :metric
303
+
304
+ # The field value to attribute.
305
+ # Corresponds to the JSON property `field`
306
+ # @return [String]
307
+ attr_accessor :field
308
+
309
+ def initialize(**args)
310
+ update!(**args)
311
+ end
312
+
313
+ # Update properties of this object
314
+ def update!(**args)
315
+ @metric = args[:metric] unless args[:metric].nil?
316
+ @field = args[:field] unless args[:field].nil?
317
+ end
318
+ end
319
+
320
+ # Write a Data Access (Gin) log
321
+ class DataAccessOptions
322
+ include Google::Apis::Core::Hashable
323
+
324
+ def initialize(**args)
325
+ update!(**args)
326
+ end
327
+
328
+ # Update properties of this object
329
+ def update!(**args)
330
+ end
331
+ end
332
+
333
+ # Write a Cloud Audit log
334
+ class CloudAuditOptions
335
+ include Google::Apis::Core::Hashable
336
+
337
+ def initialize(**args)
338
+ update!(**args)
339
+ end
340
+
341
+ # Update properties of this object
342
+ def update!(**args)
343
+ end
344
+ end
345
+
346
+ # Request message for `TestIamPermissions` method.
347
+ class TestIamPermissionsRequest
348
+ include Google::Apis::Core::Hashable
349
+
350
+ # The set of permissions to check for the 'resource'. Permissions with wildcards
351
+ # (such as '*' or 'storage.*') are not allowed.
352
+ # Corresponds to the JSON property `permissions`
353
+ # @return [Array<String>]
354
+ attr_accessor :permissions
355
+
356
+ def initialize(**args)
357
+ update!(**args)
358
+ end
359
+
360
+ # Update properties of this object
361
+ def update!(**args)
362
+ @permissions = args[:permissions] unless args[:permissions].nil?
363
+ end
364
+ end
365
+
366
+ # Response message for `TestIamPermissions` method.
367
+ class TestIamPermissionsResponse
368
+ include Google::Apis::Core::Hashable
369
+
370
+ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
371
+ # Corresponds to the JSON property `permissions`
372
+ # @return [Array<String>]
373
+ attr_accessor :permissions
374
+
375
+ def initialize(**args)
376
+ update!(**args)
377
+ end
378
+
379
+ # Update properties of this object
380
+ def update!(**args)
381
+ @permissions = args[:permissions] unless args[:permissions].nil?
382
+ end
383
+ end
384
+
385
+ # A topic resource.
386
+ class Topic
387
+ include Google::Apis::Core::Hashable
388
+
389
+ # The name of the topic. It must have the format "projects/`project`/topics/`
390
+ # topic`" for Google Cloud Pub/Sub API v1beta2. `topic` must start with a letter,
391
+ # and contain only letters ([A-Za-z]), numbers ([0-9], dashes (-), underscores (
392
+ # _), periods (.), tildes (~), plus (+) or percent signs (%). It must be between
393
+ # 3 and 255 characters in length, and it must not start with "goog".
394
+ # Corresponds to the JSON property `name`
395
+ # @return [String]
396
+ attr_accessor :name
397
+
398
+ def initialize(**args)
399
+ update!(**args)
400
+ end
401
+
402
+ # Update properties of this object
403
+ def update!(**args)
404
+ @name = args[:name] unless args[:name].nil?
405
+ end
406
+ end
407
+
408
+ # Request for the Publish method.
409
+ class PublishRequest
410
+ include Google::Apis::Core::Hashable
411
+
412
+ # The messages to publish.
413
+ # Corresponds to the JSON property `messages`
414
+ # @return [Array<Google::Apis::PubsubV1beta2::Message>]
415
+ attr_accessor :messages
416
+
417
+ def initialize(**args)
418
+ update!(**args)
419
+ end
420
+
421
+ # Update properties of this object
422
+ def update!(**args)
423
+ @messages = args[:messages] unless args[:messages].nil?
424
+ end
425
+ end
426
+
427
+ # A message data and its attributes.
428
+ class Message
429
+ include Google::Apis::Core::Hashable
430
+
431
+ # The message payload. For JSON requests, the value of this field must be base64-
432
+ # encoded.
433
+ # Corresponds to the JSON property `data`
434
+ # @return [String]
435
+ attr_accessor :data
436
+
437
+ # Optional attributes for this message.
438
+ # Corresponds to the JSON property `attributes`
439
+ # @return [Hash<String,String>]
440
+ attr_accessor :attributes
441
+
442
+ # ID of this message assigned by the server at publication time. Guaranteed to
443
+ # be unique within the topic. This value may be read by a subscriber that
444
+ # receives a PubsubMessage via a Pull call or a push delivery. It must not be
445
+ # populated by a publisher in a Publish call.
446
+ # Corresponds to the JSON property `messageId`
447
+ # @return [String]
448
+ attr_accessor :message_id
449
+
450
+ def initialize(**args)
451
+ update!(**args)
452
+ end
453
+
454
+ # Update properties of this object
455
+ def update!(**args)
456
+ @data = args[:data] unless args[:data].nil?
457
+ @attributes = args[:attributes] unless args[:attributes].nil?
458
+ @message_id = args[:message_id] unless args[:message_id].nil?
459
+ end
460
+ end
461
+
462
+ # Response for the Publish method.
463
+ class PublishResponse
464
+ include Google::Apis::Core::Hashable
465
+
466
+ # The server-assigned ID of each published message, in the same order as the
467
+ # messages in the request. IDs are guaranteed to be unique within the topic.
468
+ # Corresponds to the JSON property `messageIds`
469
+ # @return [Array<String>]
470
+ attr_accessor :message_ids
471
+
472
+ def initialize(**args)
473
+ update!(**args)
474
+ end
475
+
476
+ # Update properties of this object
477
+ def update!(**args)
478
+ @message_ids = args[:message_ids] unless args[:message_ids].nil?
479
+ end
480
+ end
481
+
482
+ # Response for the ListTopics method.
483
+ class ListTopicsResponse
484
+ include Google::Apis::Core::Hashable
485
+
486
+ # The resulting topics.
487
+ # Corresponds to the JSON property `topics`
488
+ # @return [Array<Google::Apis::PubsubV1beta2::Topic>]
489
+ attr_accessor :topics
490
+
491
+ # If not empty, indicates that there may be more topics that match the request;
492
+ # this value should be passed in a new ListTopicsRequest.
493
+ # Corresponds to the JSON property `nextPageToken`
494
+ # @return [String]
495
+ attr_accessor :next_page_token
496
+
497
+ def initialize(**args)
498
+ update!(**args)
499
+ end
500
+
501
+ # Update properties of this object
502
+ def update!(**args)
503
+ @topics = args[:topics] unless args[:topics].nil?
504
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
505
+ end
506
+ end
507
+
508
+ # Response for the ListTopicSubscriptions method.
509
+ class ListTopicSubscriptionsResponse
510
+ include Google::Apis::Core::Hashable
511
+
512
+ # The names of the subscriptions that match the request.
513
+ # Corresponds to the JSON property `subscriptions`
514
+ # @return [Array<String>]
515
+ attr_accessor :subscriptions
516
+
517
+ # If not empty, indicates that there may be more subscriptions that match the
518
+ # request; this value should be passed in a new ListTopicSubscriptionsRequest to
519
+ # get more subscriptions.
520
+ # Corresponds to the JSON property `nextPageToken`
521
+ # @return [String]
522
+ attr_accessor :next_page_token
523
+
524
+ def initialize(**args)
525
+ update!(**args)
526
+ end
527
+
528
+ # Update properties of this object
529
+ def update!(**args)
530
+ @subscriptions = args[:subscriptions] unless args[:subscriptions].nil?
531
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
532
+ end
533
+ end
534
+
535
+ # A generic empty message that you can re-use to avoid defining duplicated empty
536
+ # messages in your APIs. A typical example is to use it as the request or the
537
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
538
+ # protobuf.Empty) returns (google.protobuf.Empty); `
539
+ class Empty
540
+ include Google::Apis::Core::Hashable
541
+
542
+ def initialize(**args)
543
+ update!(**args)
544
+ end
545
+
546
+ # Update properties of this object
547
+ def update!(**args)
548
+ end
549
+ end
550
+
551
+ # A subscription resource.
552
+ class Subscription
553
+ include Google::Apis::Core::Hashable
554
+
555
+ # The name of the subscription. It must have the format "projects/`project`/
556
+ # subscriptions/`subscription`" for Google Cloud Pub/Sub API v1beta2. `
557
+ # subscription` must start with a letter, and contain only letters ([A-Za-z]),
558
+ # numbers ([0-9], dashes (-), underscores (_), periods (.), tildes (~), plus (+)
559
+ # or percent signs (%). It must be between 3 and 255 characters in length, and
560
+ # it must not start with "goog".
561
+ # Corresponds to the JSON property `name`
562
+ # @return [String]
563
+ attr_accessor :name
564
+
565
+ # The name of the topic from which this subscription is receiving messages. This
566
+ # will be present if and only if the subscription has not been detached from its
567
+ # topic.
568
+ # Corresponds to the JSON property `topic`
569
+ # @return [String]
570
+ attr_accessor :topic
571
+
572
+ # Configuration for a push delivery endpoint.
573
+ # Corresponds to the JSON property `pushConfig`
574
+ # @return [Google::Apis::PubsubV1beta2::PushConfig]
575
+ attr_accessor :push_config
576
+
577
+ # This value is the maximum time after a subscriber receives a message before
578
+ # the subscriber should acknowledge the message. After message delivery but
579
+ # before the ack deadline expires and before the message is acknowledged, it is
580
+ # an outstanding message and will not be delivered again during that time (on a
581
+ # best-effort basis). For pull delivery this value is used as the initial value
582
+ # for the ack deadline. It may be overridden for each message using its
583
+ # corresponding ack_id by calling ModifyAckDeadline. For push delivery, this
584
+ # value is also used to set the request timeout for the call to the push
585
+ # endpoint. If the subscriber never acknowledges the message, the Pub/Sub system
586
+ # will eventually redeliver the message. If this parameter is not set, the
587
+ # default value of 60 seconds is used.
588
+ # Corresponds to the JSON property `ackDeadlineSeconds`
589
+ # @return [Fixnum]
590
+ attr_accessor :ack_deadline_seconds
591
+
592
+ def initialize(**args)
593
+ update!(**args)
594
+ end
595
+
596
+ # Update properties of this object
597
+ def update!(**args)
598
+ @name = args[:name] unless args[:name].nil?
599
+ @topic = args[:topic] unless args[:topic].nil?
600
+ @push_config = args[:push_config] unless args[:push_config].nil?
601
+ @ack_deadline_seconds = args[:ack_deadline_seconds] unless args[:ack_deadline_seconds].nil?
602
+ end
603
+ end
604
+
605
+ # Configuration for a push delivery endpoint.
606
+ class PushConfig
607
+ include Google::Apis::Core::Hashable
608
+
609
+ # A URL locating the endpoint to which messages should be pushed. For example, a
610
+ # Webhook endpoint might use "https://example.com/push".
611
+ # Corresponds to the JSON property `pushEndpoint`
612
+ # @return [String]
613
+ attr_accessor :push_endpoint
614
+
615
+ # Endpoint configuration attributes. Every endpoint has a set of API supported
616
+ # attributes that can be used to control different aspects of the message
617
+ # delivery. The currently supported attribute is `x-goog-version`, which you can
618
+ # use to change the format of the push message. This attribute indicates the
619
+ # version of the data expected by the endpoint. This controls the shape of the
620
+ # envelope (i.e. its fields and metadata). The endpoint version is based on the
621
+ # version of the Pub/Sub API. If not present during the CreateSubscription call,
622
+ # it will default to the version of the API used to make such call. If not
623
+ # present during a ModifyPushConfig call, its value will not be changed.
624
+ # GetSubscription calls will always return a valid version, even if the
625
+ # subscription was created without this attribute. The possible values for this
626
+ # attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/
627
+ # Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub
628
+ # API.
629
+ # Corresponds to the JSON property `attributes`
630
+ # @return [Hash<String,String>]
631
+ attr_accessor :attributes
632
+
633
+ def initialize(**args)
634
+ update!(**args)
635
+ end
636
+
637
+ # Update properties of this object
638
+ def update!(**args)
639
+ @push_endpoint = args[:push_endpoint] unless args[:push_endpoint].nil?
640
+ @attributes = args[:attributes] unless args[:attributes].nil?
641
+ end
642
+ end
643
+
644
+ # Response for the ListSubscriptions method.
645
+ class ListSubscriptionsResponse
646
+ include Google::Apis::Core::Hashable
647
+
648
+ # The subscriptions that match the request.
649
+ # Corresponds to the JSON property `subscriptions`
650
+ # @return [Array<Google::Apis::PubsubV1beta2::Subscription>]
651
+ attr_accessor :subscriptions
652
+
653
+ # If not empty, indicates that there may be more subscriptions that match the
654
+ # request; this value should be passed in a new ListSubscriptionsRequest to get
655
+ # more subscriptions.
656
+ # Corresponds to the JSON property `nextPageToken`
657
+ # @return [String]
658
+ attr_accessor :next_page_token
659
+
660
+ def initialize(**args)
661
+ update!(**args)
662
+ end
663
+
664
+ # Update properties of this object
665
+ def update!(**args)
666
+ @subscriptions = args[:subscriptions] unless args[:subscriptions].nil?
667
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
668
+ end
669
+ end
670
+
671
+ # Request for the ModifyAckDeadline method.
672
+ class ModifyAckDeadlineRequest
673
+ include Google::Apis::Core::Hashable
674
+
675
+ # The acknowledgment ID.
676
+ # Corresponds to the JSON property `ackId`
677
+ # @return [String]
678
+ attr_accessor :ack_id
679
+
680
+ # List of acknowledgment IDs.
681
+ # Corresponds to the JSON property `ackIds`
682
+ # @return [Array<String>]
683
+ attr_accessor :ack_ids
684
+
685
+ # The new ack deadline with respect to the time this request was sent to the Pub/
686
+ # Sub system. Must be >= 0. For example, if the value is 10, the new ack
687
+ # deadline will expire 10 seconds after the ModifyAckDeadline call was made.
688
+ # Specifying zero may immediately make the message available for another pull
689
+ # request.
690
+ # Corresponds to the JSON property `ackDeadlineSeconds`
691
+ # @return [Fixnum]
692
+ attr_accessor :ack_deadline_seconds
693
+
694
+ def initialize(**args)
695
+ update!(**args)
696
+ end
697
+
698
+ # Update properties of this object
699
+ def update!(**args)
700
+ @ack_id = args[:ack_id] unless args[:ack_id].nil?
701
+ @ack_ids = args[:ack_ids] unless args[:ack_ids].nil?
702
+ @ack_deadline_seconds = args[:ack_deadline_seconds] unless args[:ack_deadline_seconds].nil?
703
+ end
704
+ end
705
+
706
+ # Request for the Acknowledge method.
707
+ class AcknowledgeRequest
708
+ include Google::Apis::Core::Hashable
709
+
710
+ # The acknowledgment ID for the messages being acknowledged that was returned by
711
+ # the Pub/Sub system in the Pull response. Must not be empty.
712
+ # Corresponds to the JSON property `ackIds`
713
+ # @return [Array<String>]
714
+ attr_accessor :ack_ids
715
+
716
+ def initialize(**args)
717
+ update!(**args)
718
+ end
719
+
720
+ # Update properties of this object
721
+ def update!(**args)
722
+ @ack_ids = args[:ack_ids] unless args[:ack_ids].nil?
723
+ end
724
+ end
725
+
726
+ # Request for the Pull method.
727
+ class PullRequest
728
+ include Google::Apis::Core::Hashable
729
+
730
+ # If this is specified as true the system will respond immediately even if it is
731
+ # not able to return a message in the Pull response. Otherwise the system is
732
+ # allowed to wait until at least one message is available rather than returning
733
+ # no messages. The client may cancel the request if it does not wish to wait any
734
+ # longer for the response.
735
+ # Corresponds to the JSON property `returnImmediately`
736
+ # @return [Boolean]
737
+ attr_accessor :return_immediately
738
+ alias_method :return_immediately?, :return_immediately
739
+
740
+ # The maximum number of messages returned for this request. The Pub/Sub system
741
+ # may return fewer than the number specified.
742
+ # Corresponds to the JSON property `maxMessages`
743
+ # @return [Fixnum]
744
+ attr_accessor :max_messages
745
+
746
+ def initialize(**args)
747
+ update!(**args)
748
+ end
749
+
750
+ # Update properties of this object
751
+ def update!(**args)
752
+ @return_immediately = args[:return_immediately] unless args[:return_immediately].nil?
753
+ @max_messages = args[:max_messages] unless args[:max_messages].nil?
754
+ end
755
+ end
756
+
757
+ # Response for the Pull method.
758
+ class PullResponse
759
+ include Google::Apis::Core::Hashable
760
+
761
+ # Received Pub/Sub messages. The Pub/Sub system will return zero messages if
762
+ # there are no more available in the backlog. The Pub/Sub system may return
763
+ # fewer than the maxMessages requested even if there are more messages available
764
+ # in the backlog.
765
+ # Corresponds to the JSON property `receivedMessages`
766
+ # @return [Array<Google::Apis::PubsubV1beta2::ReceivedMessage>]
767
+ attr_accessor :received_messages
768
+
769
+ def initialize(**args)
770
+ update!(**args)
771
+ end
772
+
773
+ # Update properties of this object
774
+ def update!(**args)
775
+ @received_messages = args[:received_messages] unless args[:received_messages].nil?
776
+ end
777
+ end
778
+
779
+ # A message and its corresponding acknowledgment ID.
780
+ class ReceivedMessage
781
+ include Google::Apis::Core::Hashable
782
+
783
+ # This ID can be used to acknowledge the received message.
784
+ # Corresponds to the JSON property `ackId`
785
+ # @return [String]
786
+ attr_accessor :ack_id
787
+
788
+ # A message data and its attributes.
789
+ # Corresponds to the JSON property `message`
790
+ # @return [Google::Apis::PubsubV1beta2::Message]
791
+ attr_accessor :message
792
+
793
+ def initialize(**args)
794
+ update!(**args)
795
+ end
796
+
797
+ # Update properties of this object
798
+ def update!(**args)
799
+ @ack_id = args[:ack_id] unless args[:ack_id].nil?
800
+ @message = args[:message] unless args[:message].nil?
801
+ end
802
+ end
803
+
804
+ # Request for the ModifyPushConfig method.
805
+ class ModifyPushConfigRequest
806
+ include Google::Apis::Core::Hashable
807
+
808
+ # Configuration for a push delivery endpoint.
809
+ # Corresponds to the JSON property `pushConfig`
810
+ # @return [Google::Apis::PubsubV1beta2::PushConfig]
811
+ attr_accessor :push_config
812
+
813
+ def initialize(**args)
814
+ update!(**args)
815
+ end
816
+
817
+ # Update properties of this object
818
+ def update!(**args)
819
+ @push_config = args[:push_config] unless args[:push_config].nil?
820
+ end
821
+ end
822
+ end
823
+ end
824
+ end