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,43 @@
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/storage_v1/service.rb'
16
+ require 'google/apis/storage_v1/classes.rb'
17
+ require 'google/apis/storage_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Cloud Storage API
22
+ #
23
+ # Lets you store and retrieve potentially-large, immutable data objects.
24
+ #
25
+ # @see https://developers.google.com/storage/docs/json_api/
26
+ module StorageV1
27
+ VERSION = 'V1'
28
+ REVISION = '20150326'
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
+ # Manage your data and permissions in Google Cloud Storage
34
+ AUTH_DEVSTORAGE_FULL_CONTROL = 'https://www.googleapis.com/auth/devstorage.full_control'
35
+
36
+ # View your data in Google Cloud Storage
37
+ AUTH_DEVSTORAGE_READ_ONLY = 'https://www.googleapis.com/auth/devstorage.read_only'
38
+
39
+ # Manage your data in Google Cloud Storage
40
+ AUTH_DEVSTORAGE_READ_WRITE = 'https://www.googleapis.com/auth/devstorage.read_write'
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,1177 @@
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 StorageV1
24
+
25
+ # A bucket.
26
+ class Bucket
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Access controls on the bucket.
30
+ # Corresponds to the JSON property `acl`
31
+ # @return [Array<Google::Apis::StorageV1::BucketAccessControl>]
32
+ attr_accessor :acl
33
+
34
+ # The bucket's Cross-Origin Resource Sharing (CORS) configuration.
35
+ # Corresponds to the JSON property `cors`
36
+ # @return [Array<Google::Apis::StorageV1::Bucket::CorsConfiguration>]
37
+ attr_accessor :cors_configurations
38
+
39
+ # Default access controls to apply to new objects when no ACL is provided.
40
+ # Corresponds to the JSON property `defaultObjectAcl`
41
+ # @return [Array<Google::Apis::StorageV1::ObjectAccessControl>]
42
+ attr_accessor :default_object_acl
43
+
44
+ # HTTP 1.1 Entity tag for the bucket.
45
+ # Corresponds to the JSON property `etag`
46
+ # @return [String]
47
+ attr_accessor :etag
48
+
49
+ # The ID of the bucket.
50
+ # Corresponds to the JSON property `id`
51
+ # @return [String]
52
+ attr_accessor :id
53
+
54
+ # The kind of item this is. For buckets, this is always storage#bucket.
55
+ # Corresponds to the JSON property `kind`
56
+ # @return [String]
57
+ attr_accessor :kind
58
+
59
+ # The bucket's lifecycle configuration. See lifecycle management for more
60
+ # information.
61
+ # Corresponds to the JSON property `lifecycle`
62
+ # @return [Google::Apis::StorageV1::Bucket::Lifecycle]
63
+ attr_accessor :lifecycle
64
+
65
+ # The location of the bucket. Object data for objects in the bucket resides in
66
+ # physical storage within this region. Defaults to US. See the developer's guide
67
+ # for the authoritative list.
68
+ # Corresponds to the JSON property `location`
69
+ # @return [String]
70
+ attr_accessor :location
71
+
72
+ # The bucket's logging configuration, which defines the destination bucket and
73
+ # optional name prefix for the current bucket's logs.
74
+ # Corresponds to the JSON property `logging`
75
+ # @return [Google::Apis::StorageV1::Bucket::Logging]
76
+ attr_accessor :logging
77
+
78
+ # The metadata generation of this bucket.
79
+ # Corresponds to the JSON property `metageneration`
80
+ # @return [String]
81
+ attr_accessor :metageneration
82
+
83
+ # The name of the bucket.
84
+ # Corresponds to the JSON property `name`
85
+ # @return [String]
86
+ attr_accessor :name
87
+
88
+ # The owner of the bucket. This is always the project team's owner group.
89
+ # Corresponds to the JSON property `owner`
90
+ # @return [Google::Apis::StorageV1::Bucket::Owner]
91
+ attr_accessor :owner
92
+
93
+ # The project number of the project the bucket belongs to.
94
+ # Corresponds to the JSON property `projectNumber`
95
+ # @return [String]
96
+ attr_accessor :project_number
97
+
98
+ # The URI of this bucket.
99
+ # Corresponds to the JSON property `selfLink`
100
+ # @return [String]
101
+ attr_accessor :self_link
102
+
103
+ # The bucket's storage class. This defines how objects in the bucket are stored
104
+ # and determines the SLA and the cost of storage. Values include STANDARD,
105
+ # NEARLINE and DURABLE_REDUCED_AVAILABILITY. Defaults to STANDARD. For more
106
+ # information, see storage classes.
107
+ # Corresponds to the JSON property `storageClass`
108
+ # @return [String]
109
+ attr_accessor :storage_class
110
+
111
+ # Creation time of the bucket in RFC 3339 format.
112
+ # Corresponds to the JSON property `timeCreated`
113
+ # @return [DateTime]
114
+ attr_accessor :time_created
115
+
116
+ # The bucket's versioning configuration.
117
+ # Corresponds to the JSON property `versioning`
118
+ # @return [Google::Apis::StorageV1::Bucket::Versioning]
119
+ attr_accessor :versioning
120
+
121
+ # The bucket's website configuration.
122
+ # Corresponds to the JSON property `website`
123
+ # @return [Google::Apis::StorageV1::Bucket::Website]
124
+ attr_accessor :website
125
+
126
+ def initialize(**args)
127
+ update!(**args)
128
+ end
129
+
130
+ # Update properties of this object
131
+ def update!(**args)
132
+ @acl = args[:acl] unless args[:acl].nil?
133
+ @cors_configurations = args[:cors_configurations] unless args[:cors_configurations].nil?
134
+ @default_object_acl = args[:default_object_acl] unless args[:default_object_acl].nil?
135
+ @etag = args[:etag] unless args[:etag].nil?
136
+ @id = args[:id] unless args[:id].nil?
137
+ @kind = args[:kind] unless args[:kind].nil?
138
+ @lifecycle = args[:lifecycle] unless args[:lifecycle].nil?
139
+ @location = args[:location] unless args[:location].nil?
140
+ @logging = args[:logging] unless args[:logging].nil?
141
+ @metageneration = args[:metageneration] unless args[:metageneration].nil?
142
+ @name = args[:name] unless args[:name].nil?
143
+ @owner = args[:owner] unless args[:owner].nil?
144
+ @project_number = args[:project_number] unless args[:project_number].nil?
145
+ @self_link = args[:self_link] unless args[:self_link].nil?
146
+ @storage_class = args[:storage_class] unless args[:storage_class].nil?
147
+ @time_created = args[:time_created] unless args[:time_created].nil?
148
+ @versioning = args[:versioning] unless args[:versioning].nil?
149
+ @website = args[:website] unless args[:website].nil?
150
+ end
151
+
152
+ #
153
+ class CorsConfiguration
154
+ include Google::Apis::Core::Hashable
155
+
156
+ # The value, in seconds, to return in the Access-Control-Max-Age header used in
157
+ # preflight responses.
158
+ # Corresponds to the JSON property `maxAgeSeconds`
159
+ # @return [Fixnum]
160
+ attr_accessor :max_age_seconds
161
+
162
+ # The list of HTTP methods on which to include CORS response headers, (GET,
163
+ # OPTIONS, POST, etc) Note: "*" is permitted in the list of methods, and means "
164
+ # any method".
165
+ # Corresponds to the JSON property `method`
166
+ # @return [Array<String>]
167
+ attr_accessor :http_method
168
+
169
+ # The list of Origins eligible to receive CORS response headers. Note: "*" is
170
+ # permitted in the list of origins, and means "any Origin".
171
+ # Corresponds to the JSON property `origin`
172
+ # @return [Array<String>]
173
+ attr_accessor :origin
174
+
175
+ # The list of HTTP headers other than the simple response headers to give
176
+ # permission for the user-agent to share across domains.
177
+ # Corresponds to the JSON property `responseHeader`
178
+ # @return [Array<String>]
179
+ attr_accessor :response_header
180
+
181
+ def initialize(**args)
182
+ update!(**args)
183
+ end
184
+
185
+ # Update properties of this object
186
+ def update!(**args)
187
+ @max_age_seconds = args[:max_age_seconds] unless args[:max_age_seconds].nil?
188
+ @http_method = args[:http_method] unless args[:http_method].nil?
189
+ @origin = args[:origin] unless args[:origin].nil?
190
+ @response_header = args[:response_header] unless args[:response_header].nil?
191
+ end
192
+ end
193
+
194
+ # The bucket's lifecycle configuration. See lifecycle management for more
195
+ # information.
196
+ class Lifecycle
197
+ include Google::Apis::Core::Hashable
198
+
199
+ # A lifecycle management rule, which is made of an action to take and the
200
+ # condition(s) under which the action will be taken.
201
+ # Corresponds to the JSON property `rule`
202
+ # @return [Array<Google::Apis::StorageV1::Bucket::Lifecycle::Rule>]
203
+ attr_accessor :rule
204
+
205
+ def initialize(**args)
206
+ update!(**args)
207
+ end
208
+
209
+ # Update properties of this object
210
+ def update!(**args)
211
+ @rule = args[:rule] unless args[:rule].nil?
212
+ end
213
+
214
+ #
215
+ class Rule
216
+ include Google::Apis::Core::Hashable
217
+
218
+ # The action to take.
219
+ # Corresponds to the JSON property `action`
220
+ # @return [Google::Apis::StorageV1::Bucket::Lifecycle::Rule::Action]
221
+ attr_accessor :action
222
+
223
+ # The condition(s) under which the action will be taken.
224
+ # Corresponds to the JSON property `condition`
225
+ # @return [Google::Apis::StorageV1::Bucket::Lifecycle::Rule::Condition]
226
+ attr_accessor :condition
227
+
228
+ def initialize(**args)
229
+ update!(**args)
230
+ end
231
+
232
+ # Update properties of this object
233
+ def update!(**args)
234
+ @action = args[:action] unless args[:action].nil?
235
+ @condition = args[:condition] unless args[:condition].nil?
236
+ end
237
+
238
+ # The action to take.
239
+ class Action
240
+ include Google::Apis::Core::Hashable
241
+
242
+ # Type of the action. Currently, only Delete is supported.
243
+ # Corresponds to the JSON property `type`
244
+ # @return [String]
245
+ attr_accessor :type
246
+
247
+ def initialize(**args)
248
+ update!(**args)
249
+ end
250
+
251
+ # Update properties of this object
252
+ def update!(**args)
253
+ @type = args[:type] unless args[:type].nil?
254
+ end
255
+ end
256
+
257
+ # The condition(s) under which the action will be taken.
258
+ class Condition
259
+ include Google::Apis::Core::Hashable
260
+
261
+ # Age of an object (in days). This condition is satisfied when an object reaches
262
+ # the specified age.
263
+ # Corresponds to the JSON property `age`
264
+ # @return [Fixnum]
265
+ attr_accessor :age
266
+
267
+ # A date in RFC 3339 format with only the date part (for instance, "2013-01-15").
268
+ # This condition is satisfied when an object is created before midnight of the
269
+ # specified date in UTC.
270
+ # Corresponds to the JSON property `createdBefore`
271
+ # @return [Date]
272
+ attr_accessor :created_before
273
+
274
+ # Relevant only for versioned objects. If the value is true, this condition
275
+ # matches live objects; if the value is false, it matches archived objects.
276
+ # Corresponds to the JSON property `isLive`
277
+ # @return [Boolean]
278
+ attr_accessor :is_live
279
+ alias_method :is_live?, :is_live
280
+
281
+ # Relevant only for versioned objects. If the value is N, this condition is
282
+ # satisfied when there are at least N versions (including the live version)
283
+ # newer than this version of the object.
284
+ # Corresponds to the JSON property `numNewerVersions`
285
+ # @return [Fixnum]
286
+ attr_accessor :num_newer_versions
287
+
288
+ def initialize(**args)
289
+ update!(**args)
290
+ end
291
+
292
+ # Update properties of this object
293
+ def update!(**args)
294
+ @age = args[:age] unless args[:age].nil?
295
+ @created_before = args[:created_before] unless args[:created_before].nil?
296
+ @is_live = args[:is_live] unless args[:is_live].nil?
297
+ @num_newer_versions = args[:num_newer_versions] unless args[:num_newer_versions].nil?
298
+ end
299
+ end
300
+ end
301
+ end
302
+
303
+ # The bucket's logging configuration, which defines the destination bucket and
304
+ # optional name prefix for the current bucket's logs.
305
+ class Logging
306
+ include Google::Apis::Core::Hashable
307
+
308
+ # The destination bucket where the current bucket's logs should be placed.
309
+ # Corresponds to the JSON property `logBucket`
310
+ # @return [String]
311
+ attr_accessor :log_bucket
312
+
313
+ # A prefix for log object names.
314
+ # Corresponds to the JSON property `logObjectPrefix`
315
+ # @return [String]
316
+ attr_accessor :log_object_prefix
317
+
318
+ def initialize(**args)
319
+ update!(**args)
320
+ end
321
+
322
+ # Update properties of this object
323
+ def update!(**args)
324
+ @log_bucket = args[:log_bucket] unless args[:log_bucket].nil?
325
+ @log_object_prefix = args[:log_object_prefix] unless args[:log_object_prefix].nil?
326
+ end
327
+ end
328
+
329
+ # The owner of the bucket. This is always the project team's owner group.
330
+ class Owner
331
+ include Google::Apis::Core::Hashable
332
+
333
+ # The entity, in the form project-owner-projectId.
334
+ # Corresponds to the JSON property `entity`
335
+ # @return [String]
336
+ attr_accessor :entity
337
+
338
+ # The ID for the entity.
339
+ # Corresponds to the JSON property `entityId`
340
+ # @return [String]
341
+ attr_accessor :entity_id
342
+
343
+ def initialize(**args)
344
+ update!(**args)
345
+ end
346
+
347
+ # Update properties of this object
348
+ def update!(**args)
349
+ @entity = args[:entity] unless args[:entity].nil?
350
+ @entity_id = args[:entity_id] unless args[:entity_id].nil?
351
+ end
352
+ end
353
+
354
+ # The bucket's versioning configuration.
355
+ class Versioning
356
+ include Google::Apis::Core::Hashable
357
+
358
+ # While set to true, versioning is fully enabled for this bucket.
359
+ # Corresponds to the JSON property `enabled`
360
+ # @return [Boolean]
361
+ attr_accessor :enabled
362
+ alias_method :enabled?, :enabled
363
+
364
+ def initialize(**args)
365
+ update!(**args)
366
+ end
367
+
368
+ # Update properties of this object
369
+ def update!(**args)
370
+ @enabled = args[:enabled] unless args[:enabled].nil?
371
+ end
372
+ end
373
+
374
+ # The bucket's website configuration.
375
+ class Website
376
+ include Google::Apis::Core::Hashable
377
+
378
+ # Behaves as the bucket's directory index where missing objects are treated as
379
+ # potential directories.
380
+ # Corresponds to the JSON property `mainPageSuffix`
381
+ # @return [String]
382
+ attr_accessor :main_page_suffix
383
+
384
+ # The custom object to return when a requested resource is not found.
385
+ # Corresponds to the JSON property `notFoundPage`
386
+ # @return [String]
387
+ attr_accessor :not_found_page
388
+
389
+ def initialize(**args)
390
+ update!(**args)
391
+ end
392
+
393
+ # Update properties of this object
394
+ def update!(**args)
395
+ @main_page_suffix = args[:main_page_suffix] unless args[:main_page_suffix].nil?
396
+ @not_found_page = args[:not_found_page] unless args[:not_found_page].nil?
397
+ end
398
+ end
399
+ end
400
+
401
+ # An access-control entry.
402
+ class BucketAccessControl
403
+ include Google::Apis::Core::Hashable
404
+
405
+ # The name of the bucket.
406
+ # Corresponds to the JSON property `bucket`
407
+ # @return [String]
408
+ attr_accessor :bucket
409
+
410
+ # The domain associated with the entity, if any.
411
+ # Corresponds to the JSON property `domain`
412
+ # @return [String]
413
+ attr_accessor :domain
414
+
415
+ # The email address associated with the entity, if any.
416
+ # Corresponds to the JSON property `email`
417
+ # @return [String]
418
+ attr_accessor :email
419
+
420
+ # The entity holding the permission, in one of the following forms:
421
+ # - user-userId
422
+ # - user-email
423
+ # - group-groupId
424
+ # - group-email
425
+ # - domain-domain
426
+ # - project-team-projectId
427
+ # - allUsers
428
+ # - allAuthenticatedUsers Examples:
429
+ # - The user liz@example.com would be user-liz@example.com.
430
+ # - The group example@googlegroups.com would be group-example@googlegroups.com.
431
+ # - To refer to all members of the Google Apps for Business domain example.com,
432
+ # the entity would be domain-example.com.
433
+ # Corresponds to the JSON property `entity`
434
+ # @return [String]
435
+ attr_accessor :entity
436
+
437
+ # The ID for the entity, if any.
438
+ # Corresponds to the JSON property `entityId`
439
+ # @return [String]
440
+ attr_accessor :entity_id
441
+
442
+ # HTTP 1.1 Entity tag for the access-control entry.
443
+ # Corresponds to the JSON property `etag`
444
+ # @return [String]
445
+ attr_accessor :etag
446
+
447
+ # The ID of the access-control entry.
448
+ # Corresponds to the JSON property `id`
449
+ # @return [String]
450
+ attr_accessor :id
451
+
452
+ # The kind of item this is. For bucket access control entries, this is always
453
+ # storage#bucketAccessControl.
454
+ # Corresponds to the JSON property `kind`
455
+ # @return [String]
456
+ attr_accessor :kind
457
+
458
+ # The project team associated with the entity, if any.
459
+ # Corresponds to the JSON property `projectTeam`
460
+ # @return [Google::Apis::StorageV1::BucketAccessControl::ProjectTeam]
461
+ attr_accessor :project_team
462
+
463
+ # The access permission for the entity. Can be READER, WRITER, or OWNER.
464
+ # Corresponds to the JSON property `role`
465
+ # @return [String]
466
+ attr_accessor :role
467
+
468
+ # The link to this access-control entry.
469
+ # Corresponds to the JSON property `selfLink`
470
+ # @return [String]
471
+ attr_accessor :self_link
472
+
473
+ def initialize(**args)
474
+ update!(**args)
475
+ end
476
+
477
+ # Update properties of this object
478
+ def update!(**args)
479
+ @bucket = args[:bucket] unless args[:bucket].nil?
480
+ @domain = args[:domain] unless args[:domain].nil?
481
+ @email = args[:email] unless args[:email].nil?
482
+ @entity = args[:entity] unless args[:entity].nil?
483
+ @entity_id = args[:entity_id] unless args[:entity_id].nil?
484
+ @etag = args[:etag] unless args[:etag].nil?
485
+ @id = args[:id] unless args[:id].nil?
486
+ @kind = args[:kind] unless args[:kind].nil?
487
+ @project_team = args[:project_team] unless args[:project_team].nil?
488
+ @role = args[:role] unless args[:role].nil?
489
+ @self_link = args[:self_link] unless args[:self_link].nil?
490
+ end
491
+
492
+ # The project team associated with the entity, if any.
493
+ class ProjectTeam
494
+ include Google::Apis::Core::Hashable
495
+
496
+ # The project number.
497
+ # Corresponds to the JSON property `projectNumber`
498
+ # @return [String]
499
+ attr_accessor :project_number
500
+
501
+ # The team. Can be owners, editors, or viewers.
502
+ # Corresponds to the JSON property `team`
503
+ # @return [String]
504
+ attr_accessor :team
505
+
506
+ def initialize(**args)
507
+ update!(**args)
508
+ end
509
+
510
+ # Update properties of this object
511
+ def update!(**args)
512
+ @project_number = args[:project_number] unless args[:project_number].nil?
513
+ @team = args[:team] unless args[:team].nil?
514
+ end
515
+ end
516
+ end
517
+
518
+ # An access-control list.
519
+ class BucketAccessControls
520
+ include Google::Apis::Core::Hashable
521
+
522
+ # The list of items.
523
+ # Corresponds to the JSON property `items`
524
+ # @return [Array<Google::Apis::StorageV1::BucketAccessControl>]
525
+ attr_accessor :items
526
+
527
+ # The kind of item this is. For lists of bucket access control entries, this is
528
+ # always storage#bucketAccessControls.
529
+ # Corresponds to the JSON property `kind`
530
+ # @return [String]
531
+ attr_accessor :kind
532
+
533
+ def initialize(**args)
534
+ update!(**args)
535
+ end
536
+
537
+ # Update properties of this object
538
+ def update!(**args)
539
+ @items = args[:items] unless args[:items].nil?
540
+ @kind = args[:kind] unless args[:kind].nil?
541
+ end
542
+ end
543
+
544
+ # A list of buckets.
545
+ class Buckets
546
+ include Google::Apis::Core::Hashable
547
+
548
+ # The list of items.
549
+ # Corresponds to the JSON property `items`
550
+ # @return [Array<Google::Apis::StorageV1::Bucket>]
551
+ attr_accessor :items
552
+
553
+ # The kind of item this is. For lists of buckets, this is always storage#buckets.
554
+ # Corresponds to the JSON property `kind`
555
+ # @return [String]
556
+ attr_accessor :kind
557
+
558
+ # The continuation token, used to page through large result sets. Provide this
559
+ # value in a subsequent request to return the next page of results.
560
+ # Corresponds to the JSON property `nextPageToken`
561
+ # @return [String]
562
+ attr_accessor :next_page_token
563
+
564
+ def initialize(**args)
565
+ update!(**args)
566
+ end
567
+
568
+ # Update properties of this object
569
+ def update!(**args)
570
+ @items = args[:items] unless args[:items].nil?
571
+ @kind = args[:kind] unless args[:kind].nil?
572
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
573
+ end
574
+ end
575
+
576
+ # An notification channel used to watch for resource changes.
577
+ class Channel
578
+ include Google::Apis::Core::Hashable
579
+
580
+ # The address where notifications are delivered for this channel.
581
+ # Corresponds to the JSON property `address`
582
+ # @return [String]
583
+ attr_accessor :address
584
+
585
+ # Date and time of notification channel expiration, expressed as a Unix
586
+ # timestamp, in milliseconds. Optional.
587
+ # Corresponds to the JSON property `expiration`
588
+ # @return [String]
589
+ attr_accessor :expiration
590
+
591
+ # A UUID or similar unique string that identifies this channel.
592
+ # Corresponds to the JSON property `id`
593
+ # @return [String]
594
+ attr_accessor :id
595
+
596
+ # Identifies this as a notification channel used to watch for changes to a
597
+ # resource. Value: the fixed string "api#channel".
598
+ # Corresponds to the JSON property `kind`
599
+ # @return [String]
600
+ attr_accessor :kind
601
+
602
+ # Additional parameters controlling delivery channel behavior. Optional.
603
+ # Corresponds to the JSON property `params`
604
+ # @return [Hash<String,String>]
605
+ attr_accessor :params
606
+
607
+ # A Boolean value to indicate whether payload is wanted. Optional.
608
+ # Corresponds to the JSON property `payload`
609
+ # @return [Boolean]
610
+ attr_accessor :payload
611
+ alias_method :payload?, :payload
612
+
613
+ # An opaque ID that identifies the resource being watched on this channel.
614
+ # Stable across different API versions.
615
+ # Corresponds to the JSON property `resourceId`
616
+ # @return [String]
617
+ attr_accessor :resource_id
618
+
619
+ # A version-specific identifier for the watched resource.
620
+ # Corresponds to the JSON property `resourceUri`
621
+ # @return [String]
622
+ attr_accessor :resource_uri
623
+
624
+ # An arbitrary string delivered to the target address with each notification
625
+ # delivered over this channel. Optional.
626
+ # Corresponds to the JSON property `token`
627
+ # @return [String]
628
+ attr_accessor :token
629
+
630
+ # The type of delivery mechanism used for this channel.
631
+ # Corresponds to the JSON property `type`
632
+ # @return [String]
633
+ attr_accessor :type
634
+
635
+ def initialize(**args)
636
+ update!(**args)
637
+ end
638
+
639
+ # Update properties of this object
640
+ def update!(**args)
641
+ @address = args[:address] unless args[:address].nil?
642
+ @expiration = args[:expiration] unless args[:expiration].nil?
643
+ @id = args[:id] unless args[:id].nil?
644
+ @kind = args[:kind] unless args[:kind].nil?
645
+ @params = args[:params] unless args[:params].nil?
646
+ @payload = args[:payload] unless args[:payload].nil?
647
+ @resource_id = args[:resource_id] unless args[:resource_id].nil?
648
+ @resource_uri = args[:resource_uri] unless args[:resource_uri].nil?
649
+ @token = args[:token] unless args[:token].nil?
650
+ @type = args[:type] unless args[:type].nil?
651
+ end
652
+ end
653
+
654
+ # A Compose request.
655
+ class ComposeRequest
656
+ include Google::Apis::Core::Hashable
657
+
658
+ # An object.
659
+ # Corresponds to the JSON property `destination`
660
+ # @return [Google::Apis::StorageV1::Object]
661
+ attr_accessor :destination
662
+
663
+ # The kind of item this is.
664
+ # Corresponds to the JSON property `kind`
665
+ # @return [String]
666
+ attr_accessor :kind
667
+
668
+ # The list of source objects that will be concatenated into a single object.
669
+ # Corresponds to the JSON property `sourceObjects`
670
+ # @return [Array<Google::Apis::StorageV1::ComposeRequest::SourceObject>]
671
+ attr_accessor :source_objects
672
+
673
+ def initialize(**args)
674
+ update!(**args)
675
+ end
676
+
677
+ # Update properties of this object
678
+ def update!(**args)
679
+ @destination = args[:destination] unless args[:destination].nil?
680
+ @kind = args[:kind] unless args[:kind].nil?
681
+ @source_objects = args[:source_objects] unless args[:source_objects].nil?
682
+ end
683
+
684
+ #
685
+ class SourceObject
686
+ include Google::Apis::Core::Hashable
687
+
688
+ # The generation of this object to use as the source.
689
+ # Corresponds to the JSON property `generation`
690
+ # @return [String]
691
+ attr_accessor :generation
692
+
693
+ # The source object's name. The source object's bucket is implicitly the
694
+ # destination bucket.
695
+ # Corresponds to the JSON property `name`
696
+ # @return [String]
697
+ attr_accessor :name
698
+
699
+ # Conditions that must be met for this operation to execute.
700
+ # Corresponds to the JSON property `objectPreconditions`
701
+ # @return [Google::Apis::StorageV1::ComposeRequest::SourceObject::ObjectPreconditions]
702
+ attr_accessor :object_preconditions
703
+
704
+ def initialize(**args)
705
+ update!(**args)
706
+ end
707
+
708
+ # Update properties of this object
709
+ def update!(**args)
710
+ @generation = args[:generation] unless args[:generation].nil?
711
+ @name = args[:name] unless args[:name].nil?
712
+ @object_preconditions = args[:object_preconditions] unless args[:object_preconditions].nil?
713
+ end
714
+
715
+ # Conditions that must be met for this operation to execute.
716
+ class ObjectPreconditions
717
+ include Google::Apis::Core::Hashable
718
+
719
+ # Only perform the composition if the generation of the source object that would
720
+ # be used matches this value. If this value and a generation are both specified,
721
+ # they must be the same value or the call will fail.
722
+ # Corresponds to the JSON property `ifGenerationMatch`
723
+ # @return [String]
724
+ attr_accessor :if_generation_match
725
+
726
+ def initialize(**args)
727
+ update!(**args)
728
+ end
729
+
730
+ # Update properties of this object
731
+ def update!(**args)
732
+ @if_generation_match = args[:if_generation_match] unless args[:if_generation_match].nil?
733
+ end
734
+ end
735
+ end
736
+ end
737
+
738
+ # An object.
739
+ class Object
740
+ include Google::Apis::Core::Hashable
741
+
742
+ # Access controls on the object.
743
+ # Corresponds to the JSON property `acl`
744
+ # @return [Array<Google::Apis::StorageV1::ObjectAccessControl>]
745
+ attr_accessor :acl
746
+
747
+ # The name of the bucket containing this object.
748
+ # Corresponds to the JSON property `bucket`
749
+ # @return [String]
750
+ attr_accessor :bucket
751
+
752
+ # Cache-Control directive for the object data.
753
+ # Corresponds to the JSON property `cacheControl`
754
+ # @return [String]
755
+ attr_accessor :cache_control
756
+
757
+ # Number of underlying components that make up this object. Components are
758
+ # accumulated by compose operations.
759
+ # Corresponds to the JSON property `componentCount`
760
+ # @return [Fixnum]
761
+ attr_accessor :component_count
762
+
763
+ # Content-Disposition of the object data.
764
+ # Corresponds to the JSON property `contentDisposition`
765
+ # @return [String]
766
+ attr_accessor :content_disposition
767
+
768
+ # Content-Encoding of the object data.
769
+ # Corresponds to the JSON property `contentEncoding`
770
+ # @return [String]
771
+ attr_accessor :content_encoding
772
+
773
+ # Content-Language of the object data.
774
+ # Corresponds to the JSON property `contentLanguage`
775
+ # @return [String]
776
+ attr_accessor :content_language
777
+
778
+ # Content-Type of the object data.
779
+ # Corresponds to the JSON property `contentType`
780
+ # @return [String]
781
+ attr_accessor :content_type
782
+
783
+ # CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64 in
784
+ # big-endian byte order.
785
+ # Corresponds to the JSON property `crc32c`
786
+ # @return [String]
787
+ attr_accessor :crc32c
788
+
789
+ # HTTP 1.1 Entity tag for the object.
790
+ # Corresponds to the JSON property `etag`
791
+ # @return [String]
792
+ attr_accessor :etag
793
+
794
+ # The content generation of this object. Used for object versioning.
795
+ # Corresponds to the JSON property `generation`
796
+ # @return [String]
797
+ attr_accessor :generation
798
+
799
+ # The ID of the object.
800
+ # Corresponds to the JSON property `id`
801
+ # @return [String]
802
+ attr_accessor :id
803
+
804
+ # The kind of item this is. For objects, this is always storage#object.
805
+ # Corresponds to the JSON property `kind`
806
+ # @return [String]
807
+ attr_accessor :kind
808
+
809
+ # MD5 hash of the data; encoded using base64.
810
+ # Corresponds to the JSON property `md5Hash`
811
+ # @return [String]
812
+ attr_accessor :md5_hash
813
+
814
+ # Media download link.
815
+ # Corresponds to the JSON property `mediaLink`
816
+ # @return [String]
817
+ attr_accessor :media_link
818
+
819
+ # User-provided metadata, in key/value pairs.
820
+ # Corresponds to the JSON property `metadata`
821
+ # @return [Hash<String,String>]
822
+ attr_accessor :metadata
823
+
824
+ # The version of the metadata for this object at this generation. Used for
825
+ # preconditions and for detecting changes in metadata. A metageneration number
826
+ # is only meaningful in the context of a particular generation of a particular
827
+ # object.
828
+ # Corresponds to the JSON property `metageneration`
829
+ # @return [String]
830
+ attr_accessor :metageneration
831
+
832
+ # The name of this object. Required if not specified by URL parameter.
833
+ # Corresponds to the JSON property `name`
834
+ # @return [String]
835
+ attr_accessor :name
836
+
837
+ # The owner of the object. This will always be the uploader of the object.
838
+ # Corresponds to the JSON property `owner`
839
+ # @return [Google::Apis::StorageV1::Object::Owner]
840
+ attr_accessor :owner
841
+
842
+ # The link to this object.
843
+ # Corresponds to the JSON property `selfLink`
844
+ # @return [String]
845
+ attr_accessor :self_link
846
+
847
+ # Content-Length of the data in bytes.
848
+ # Corresponds to the JSON property `size`
849
+ # @return [String]
850
+ attr_accessor :size
851
+
852
+ # Storage class of the object.
853
+ # Corresponds to the JSON property `storageClass`
854
+ # @return [String]
855
+ attr_accessor :storage_class
856
+
857
+ # The deletion time of the object in RFC 3339 format. Will be returned if and
858
+ # only if this version of the object has been deleted.
859
+ # Corresponds to the JSON property `timeDeleted`
860
+ # @return [DateTime]
861
+ attr_accessor :time_deleted
862
+
863
+ # The creation or modification time of the object in RFC 3339 format. For
864
+ # buckets with versioning enabled, changing an object's metadata does not change
865
+ # this property.
866
+ # Corresponds to the JSON property `updated`
867
+ # @return [DateTime]
868
+ attr_accessor :updated
869
+
870
+ def initialize(**args)
871
+ update!(**args)
872
+ end
873
+
874
+ # Update properties of this object
875
+ def update!(**args)
876
+ @acl = args[:acl] unless args[:acl].nil?
877
+ @bucket = args[:bucket] unless args[:bucket].nil?
878
+ @cache_control = args[:cache_control] unless args[:cache_control].nil?
879
+ @component_count = args[:component_count] unless args[:component_count].nil?
880
+ @content_disposition = args[:content_disposition] unless args[:content_disposition].nil?
881
+ @content_encoding = args[:content_encoding] unless args[:content_encoding].nil?
882
+ @content_language = args[:content_language] unless args[:content_language].nil?
883
+ @content_type = args[:content_type] unless args[:content_type].nil?
884
+ @crc32c = args[:crc32c] unless args[:crc32c].nil?
885
+ @etag = args[:etag] unless args[:etag].nil?
886
+ @generation = args[:generation] unless args[:generation].nil?
887
+ @id = args[:id] unless args[:id].nil?
888
+ @kind = args[:kind] unless args[:kind].nil?
889
+ @md5_hash = args[:md5_hash] unless args[:md5_hash].nil?
890
+ @media_link = args[:media_link] unless args[:media_link].nil?
891
+ @metadata = args[:metadata] unless args[:metadata].nil?
892
+ @metageneration = args[:metageneration] unless args[:metageneration].nil?
893
+ @name = args[:name] unless args[:name].nil?
894
+ @owner = args[:owner] unless args[:owner].nil?
895
+ @self_link = args[:self_link] unless args[:self_link].nil?
896
+ @size = args[:size] unless args[:size].nil?
897
+ @storage_class = args[:storage_class] unless args[:storage_class].nil?
898
+ @time_deleted = args[:time_deleted] unless args[:time_deleted].nil?
899
+ @updated = args[:updated] unless args[:updated].nil?
900
+ end
901
+
902
+ # The owner of the object. This will always be the uploader of the object.
903
+ class Owner
904
+ include Google::Apis::Core::Hashable
905
+
906
+ # The entity, in the form user-userId.
907
+ # Corresponds to the JSON property `entity`
908
+ # @return [String]
909
+ attr_accessor :entity
910
+
911
+ # The ID for the entity.
912
+ # Corresponds to the JSON property `entityId`
913
+ # @return [String]
914
+ attr_accessor :entity_id
915
+
916
+ def initialize(**args)
917
+ update!(**args)
918
+ end
919
+
920
+ # Update properties of this object
921
+ def update!(**args)
922
+ @entity = args[:entity] unless args[:entity].nil?
923
+ @entity_id = args[:entity_id] unless args[:entity_id].nil?
924
+ end
925
+ end
926
+ end
927
+
928
+ # An access-control entry.
929
+ class ObjectAccessControl
930
+ include Google::Apis::Core::Hashable
931
+
932
+ # The name of the bucket.
933
+ # Corresponds to the JSON property `bucket`
934
+ # @return [String]
935
+ attr_accessor :bucket
936
+
937
+ # The domain associated with the entity, if any.
938
+ # Corresponds to the JSON property `domain`
939
+ # @return [String]
940
+ attr_accessor :domain
941
+
942
+ # The email address associated with the entity, if any.
943
+ # Corresponds to the JSON property `email`
944
+ # @return [String]
945
+ attr_accessor :email
946
+
947
+ # The entity holding the permission, in one of the following forms:
948
+ # - user-userId
949
+ # - user-email
950
+ # - group-groupId
951
+ # - group-email
952
+ # - domain-domain
953
+ # - project-team-projectId
954
+ # - allUsers
955
+ # - allAuthenticatedUsers Examples:
956
+ # - The user liz@example.com would be user-liz@example.com.
957
+ # - The group example@googlegroups.com would be group-example@googlegroups.com.
958
+ # - To refer to all members of the Google Apps for Business domain example.com,
959
+ # the entity would be domain-example.com.
960
+ # Corresponds to the JSON property `entity`
961
+ # @return [String]
962
+ attr_accessor :entity
963
+
964
+ # The ID for the entity, if any.
965
+ # Corresponds to the JSON property `entityId`
966
+ # @return [String]
967
+ attr_accessor :entity_id
968
+
969
+ # HTTP 1.1 Entity tag for the access-control entry.
970
+ # Corresponds to the JSON property `etag`
971
+ # @return [String]
972
+ attr_accessor :etag
973
+
974
+ # The content generation of the object.
975
+ # Corresponds to the JSON property `generation`
976
+ # @return [String]
977
+ attr_accessor :generation
978
+
979
+ # The ID of the access-control entry.
980
+ # Corresponds to the JSON property `id`
981
+ # @return [String]
982
+ attr_accessor :id
983
+
984
+ # The kind of item this is. For object access control entries, this is always
985
+ # storage#objectAccessControl.
986
+ # Corresponds to the JSON property `kind`
987
+ # @return [String]
988
+ attr_accessor :kind
989
+
990
+ # The name of the object.
991
+ # Corresponds to the JSON property `object`
992
+ # @return [String]
993
+ attr_accessor :object
994
+
995
+ # The project team associated with the entity, if any.
996
+ # Corresponds to the JSON property `projectTeam`
997
+ # @return [Google::Apis::StorageV1::ObjectAccessControl::ProjectTeam]
998
+ attr_accessor :project_team
999
+
1000
+ # The access permission for the entity. Can be READER or OWNER.
1001
+ # Corresponds to the JSON property `role`
1002
+ # @return [String]
1003
+ attr_accessor :role
1004
+
1005
+ # The link to this access-control entry.
1006
+ # Corresponds to the JSON property `selfLink`
1007
+ # @return [String]
1008
+ attr_accessor :self_link
1009
+
1010
+ def initialize(**args)
1011
+ update!(**args)
1012
+ end
1013
+
1014
+ # Update properties of this object
1015
+ def update!(**args)
1016
+ @bucket = args[:bucket] unless args[:bucket].nil?
1017
+ @domain = args[:domain] unless args[:domain].nil?
1018
+ @email = args[:email] unless args[:email].nil?
1019
+ @entity = args[:entity] unless args[:entity].nil?
1020
+ @entity_id = args[:entity_id] unless args[:entity_id].nil?
1021
+ @etag = args[:etag] unless args[:etag].nil?
1022
+ @generation = args[:generation] unless args[:generation].nil?
1023
+ @id = args[:id] unless args[:id].nil?
1024
+ @kind = args[:kind] unless args[:kind].nil?
1025
+ @object = args[:object] unless args[:object].nil?
1026
+ @project_team = args[:project_team] unless args[:project_team].nil?
1027
+ @role = args[:role] unless args[:role].nil?
1028
+ @self_link = args[:self_link] unless args[:self_link].nil?
1029
+ end
1030
+
1031
+ # The project team associated with the entity, if any.
1032
+ class ProjectTeam
1033
+ include Google::Apis::Core::Hashable
1034
+
1035
+ # The project number.
1036
+ # Corresponds to the JSON property `projectNumber`
1037
+ # @return [String]
1038
+ attr_accessor :project_number
1039
+
1040
+ # The team. Can be owners, editors, or viewers.
1041
+ # Corresponds to the JSON property `team`
1042
+ # @return [String]
1043
+ attr_accessor :team
1044
+
1045
+ def initialize(**args)
1046
+ update!(**args)
1047
+ end
1048
+
1049
+ # Update properties of this object
1050
+ def update!(**args)
1051
+ @project_number = args[:project_number] unless args[:project_number].nil?
1052
+ @team = args[:team] unless args[:team].nil?
1053
+ end
1054
+ end
1055
+ end
1056
+
1057
+ # An access-control list.
1058
+ class ObjectAccessControls
1059
+ include Google::Apis::Core::Hashable
1060
+
1061
+ # The list of items.
1062
+ # Corresponds to the JSON property `items`
1063
+ # @return [Array<Object>]
1064
+ attr_accessor :items
1065
+
1066
+ # The kind of item this is. For lists of object access control entries, this is
1067
+ # always storage#objectAccessControls.
1068
+ # Corresponds to the JSON property `kind`
1069
+ # @return [String]
1070
+ attr_accessor :kind
1071
+
1072
+ def initialize(**args)
1073
+ update!(**args)
1074
+ end
1075
+
1076
+ # Update properties of this object
1077
+ def update!(**args)
1078
+ @items = args[:items] unless args[:items].nil?
1079
+ @kind = args[:kind] unless args[:kind].nil?
1080
+ end
1081
+ end
1082
+
1083
+ # A list of objects.
1084
+ class Objects
1085
+ include Google::Apis::Core::Hashable
1086
+
1087
+ # The list of items.
1088
+ # Corresponds to the JSON property `items`
1089
+ # @return [Array<Google::Apis::StorageV1::Object>]
1090
+ attr_accessor :items
1091
+
1092
+ # The kind of item this is. For lists of objects, this is always storage#objects.
1093
+ # Corresponds to the JSON property `kind`
1094
+ # @return [String]
1095
+ attr_accessor :kind
1096
+
1097
+ # The continuation token, used to page through large result sets. Provide this
1098
+ # value in a subsequent request to return the next page of results.
1099
+ # Corresponds to the JSON property `nextPageToken`
1100
+ # @return [String]
1101
+ attr_accessor :next_page_token
1102
+
1103
+ # The list of prefixes of objects matching-but-not-listed up to and including
1104
+ # the requested delimiter.
1105
+ # Corresponds to the JSON property `prefixes`
1106
+ # @return [Array<String>]
1107
+ attr_accessor :prefixes
1108
+
1109
+ def initialize(**args)
1110
+ update!(**args)
1111
+ end
1112
+
1113
+ # Update properties of this object
1114
+ def update!(**args)
1115
+ @items = args[:items] unless args[:items].nil?
1116
+ @kind = args[:kind] unless args[:kind].nil?
1117
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1118
+ @prefixes = args[:prefixes] unless args[:prefixes].nil?
1119
+ end
1120
+ end
1121
+
1122
+ # A rewrite response.
1123
+ class RewriteResponse
1124
+ include Google::Apis::Core::Hashable
1125
+
1126
+ # true if the copy is finished; otherwise, false if the copy is in progress.
1127
+ # This property is always present in the response.
1128
+ # Corresponds to the JSON property `done`
1129
+ # @return [Boolean]
1130
+ attr_accessor :done
1131
+ alias_method :done?, :done
1132
+
1133
+ # The kind of item this is.
1134
+ # Corresponds to the JSON property `kind`
1135
+ # @return [String]
1136
+ attr_accessor :kind
1137
+
1138
+ # The total size of the object being copied in bytes. This property is always
1139
+ # present in the response.
1140
+ # Corresponds to the JSON property `objectSize`
1141
+ # @return [String]
1142
+ attr_accessor :object_size
1143
+
1144
+ # An object.
1145
+ # Corresponds to the JSON property `resource`
1146
+ # @return [Google::Apis::StorageV1::Object]
1147
+ attr_accessor :resource
1148
+
1149
+ # A token to use in subsequent requests to continue copying data. This token is
1150
+ # present in the response only when there is more data to copy.
1151
+ # Corresponds to the JSON property `rewriteToken`
1152
+ # @return [String]
1153
+ attr_accessor :rewrite_token
1154
+
1155
+ # The total bytes written so far, which can be used to provide a waiting user
1156
+ # with a progress indicator. This property is always present in the response.
1157
+ # Corresponds to the JSON property `totalBytesRewritten`
1158
+ # @return [String]
1159
+ attr_accessor :total_bytes_rewritten
1160
+
1161
+ def initialize(**args)
1162
+ update!(**args)
1163
+ end
1164
+
1165
+ # Update properties of this object
1166
+ def update!(**args)
1167
+ @done = args[:done] unless args[:done].nil?
1168
+ @kind = args[:kind] unless args[:kind].nil?
1169
+ @object_size = args[:object_size] unless args[:object_size].nil?
1170
+ @resource = args[:resource] unless args[:resource].nil?
1171
+ @rewrite_token = args[:rewrite_token] unless args[:rewrite_token].nil?
1172
+ @total_bytes_rewritten = args[:total_bytes_rewritten] unless args[:total_bytes_rewritten].nil?
1173
+ end
1174
+ end
1175
+ end
1176
+ end
1177
+ end