google-api-client 0.8.7 → 0.9.pre1

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 (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