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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (307) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/CHANGELOG.md +14 -2
  4. data/Gemfile +4 -0
  5. data/MIGRATING.md +1 -1
  6. data/README.md +17 -3
  7. data/api_names.yaml +127 -14
  8. data/api_names_out.yaml +5442 -710
  9. data/bin/generate-api +16 -14
  10. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  11. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +213 -2
  12. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +71 -0
  13. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +21 -42
  14. data/generated/google/apis/adexchangeseller_v2_0.rb +1 -1
  15. data/generated/google/apis/adexchangeseller_v2_0/service.rb +15 -29
  16. data/generated/google/apis/admin_datatransfer_v1.rb +37 -0
  17. data/generated/google/apis/admin_datatransfer_v1/classes.rb +267 -0
  18. data/generated/google/apis/admin_datatransfer_v1/representations.rb +118 -0
  19. data/generated/google/apis/admin_datatransfer_v1/service.rb +262 -0
  20. data/generated/google/apis/admin_directory_v1.rb +25 -1
  21. data/generated/google/apis/admin_directory_v1/classes.rb +718 -0
  22. data/generated/google/apis/admin_directory_v1/representations.rb +244 -0
  23. data/generated/google/apis/admin_directory_v1/service.rb +1522 -509
  24. data/generated/google/apis/admin_reports_v1.rb +1 -1
  25. data/generated/google/apis/admin_reports_v1/service.rb +5 -10
  26. data/generated/google/apis/adsense_v1_4.rb +1 -1
  27. data/generated/google/apis/adsense_v1_4/classes.rb +6 -0
  28. data/generated/google/apis/adsense_v1_4/representations.rb +1 -0
  29. data/generated/google/apis/adsense_v1_4/service.rb +40 -78
  30. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  31. data/generated/google/apis/adsensehost_v4_1/service.rb +26 -52
  32. data/generated/google/apis/analytics_v3.rb +1 -1
  33. data/generated/google/apis/analytics_v3/classes.rb +11 -13
  34. data/generated/google/apis/analytics_v3/service.rb +84 -158
  35. data/generated/google/apis/androidenterprise_v1.rb +2 -2
  36. data/generated/google/apis/androidenterprise_v1/classes.rb +276 -8
  37. data/generated/google/apis/androidenterprise_v1/representations.rb +106 -0
  38. data/generated/google/apis/androidenterprise_v1/service.rb +715 -97
  39. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  40. data/generated/google/apis/androidpublisher_v2/classes.rb +2 -2
  41. data/generated/google/apis/androidpublisher_v2/service.rb +55 -107
  42. data/generated/google/apis/appengine_v1beta4.rb +35 -0
  43. data/generated/google/apis/appengine_v1beta4/classes.rb +1532 -0
  44. data/generated/google/apis/appengine_v1beta4/representations.rb +526 -0
  45. data/generated/google/apis/appengine_v1beta4/service.rb +476 -0
  46. data/generated/google/apis/appsactivity_v1.rb +1 -1
  47. data/generated/google/apis/appsactivity_v1/service.rb +1 -2
  48. data/generated/google/apis/appstate_v1.rb +1 -1
  49. data/generated/google/apis/appstate_v1/service.rb +6 -11
  50. data/generated/google/apis/autoscaler_v1beta2/service.rb +10 -20
  51. data/generated/google/apis/bigquery_v2.rb +4 -1
  52. data/generated/google/apis/bigquery_v2/classes.rb +231 -16
  53. data/generated/google/apis/bigquery_v2/representations.rb +62 -0
  54. data/generated/google/apis/bigquery_v2/service.rb +24 -45
  55. data/generated/google/apis/blogger_v3/service.rb +33 -66
  56. data/generated/google/apis/books_v1.rb +1 -1
  57. data/generated/google/apis/books_v1/classes.rb +441 -0
  58. data/generated/google/apis/books_v1/representations.rb +177 -0
  59. data/generated/google/apis/books_v1/service.rb +210 -90
  60. data/generated/google/apis/calendar_v3.rb +1 -1
  61. data/generated/google/apis/calendar_v3/classes.rb +34 -18
  62. data/generated/google/apis/calendar_v3/service.rb +118 -103
  63. data/generated/google/apis/civicinfo_v2.rb +1 -1
  64. data/generated/google/apis/civicinfo_v2/classes.rb +12 -3
  65. data/generated/google/apis/civicinfo_v2/representations.rb +1 -0
  66. data/generated/google/apis/civicinfo_v2/service.rb +5 -10
  67. data/generated/google/apis/classroom_v1.rb +49 -0
  68. data/generated/google/apis/classroom_v1/classes.rb +512 -0
  69. data/generated/google/apis/classroom_v1/representations.rb +217 -0
  70. data/generated/google/apis/classroom_v1/service.rb +970 -0
  71. data/generated/google/apis/cloudbilling_v1.rb +35 -0
  72. data/generated/google/apis/cloudbilling_v1/classes.rb +169 -0
  73. data/generated/google/apis/cloudbilling_v1/representations.rb +79 -0
  74. data/generated/google/apis/cloudbilling_v1/service.rb +258 -0
  75. data/generated/google/apis/clouddebugger_v2.rb +41 -0
  76. data/generated/google/apis/clouddebugger_v2/classes.rb +1004 -0
  77. data/generated/google/apis/clouddebugger_v2/representations.rb +410 -0
  78. data/generated/google/apis/clouddebugger_v2/service.rb +370 -0
  79. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  80. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +6 -12
  81. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +5 -2
  82. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +173 -249
  83. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +36 -68
  84. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +293 -80
  85. data/generated/google/apis/cloudtrace_v1.rb +35 -0
  86. data/generated/google/apis/cloudtrace_v1/classes.rb +188 -0
  87. data/generated/google/apis/cloudtrace_v1/representations.rb +92 -0
  88. data/generated/google/apis/cloudtrace_v1/service.rb +190 -0
  89. data/generated/google/apis/clouduseraccounts_beta.rb +43 -0
  90. data/generated/google/apis/clouduseraccounts_beta/classes.rb +823 -0
  91. data/generated/google/apis/clouduseraccounts_beta/representations.rb +313 -0
  92. data/generated/google/apis/clouduseraccounts_beta/service.rb +854 -0
  93. data/generated/google/apis/compute_beta.rb +49 -0
  94. data/generated/google/apis/compute_beta/classes.rb +9128 -0
  95. data/generated/google/apis/compute_beta/representations.rb +3048 -0
  96. data/generated/google/apis/compute_beta/service.rb +10154 -0
  97. data/generated/google/apis/compute_v1.rb +1 -1
  98. data/generated/google/apis/compute_v1/classes.rb +1305 -520
  99. data/generated/google/apis/compute_v1/representations.rb +122 -15
  100. data/generated/google/apis/compute_v1/service.rb +2202 -1085
  101. data/generated/google/apis/container_v1.rb +1 -1
  102. data/generated/google/apis/container_v1/classes.rb +56 -31
  103. data/generated/google/apis/container_v1/representations.rb +12 -0
  104. data/generated/google/apis/container_v1/service.rb +62 -41
  105. data/generated/google/apis/content_v2.rb +2 -2
  106. data/generated/google/apis/content_v2/classes.rb +2252 -56
  107. data/generated/google/apis/content_v2/representations.rb +917 -87
  108. data/generated/google/apis/content_v2/service.rb +680 -85
  109. data/generated/google/apis/coordinate_v1.rb +1 -1
  110. data/generated/google/apis/coordinate_v1/service.rb +16 -25
  111. data/generated/google/apis/customsearch_v1/service.rb +1 -2
  112. data/generated/google/apis/datastore_v1beta2.rb +1 -1
  113. data/generated/google/apis/datastore_v1beta2/service.rb +12 -18
  114. data/generated/google/apis/deploymentmanager_v2.rb +44 -0
  115. data/generated/google/apis/deploymentmanager_v2/classes.rb +1089 -0
  116. data/generated/google/apis/deploymentmanager_v2/representations.rb +422 -0
  117. data/generated/google/apis/deploymentmanager_v2/service.rb +857 -0
  118. data/generated/google/apis/deploymentmanager_v2beta2.rb +5 -2
  119. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +22 -3
  120. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +3 -0
  121. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +14 -27
  122. data/generated/google/apis/dfareporting_v2_1.rb +1 -1
  123. data/generated/google/apis/dfareporting_v2_1/classes.rb +29 -14
  124. data/generated/google/apis/dfareporting_v2_1/service.rb +196 -389
  125. data/generated/google/apis/discovery_v1/classes.rb +7 -0
  126. data/generated/google/apis/discovery_v1/representations.rb +1 -0
  127. data/generated/google/apis/discovery_v1/service.rb +2 -4
  128. data/generated/google/apis/dns_v1.rb +4 -1
  129. data/generated/google/apis/dns_v1/service.rb +9 -18
  130. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  131. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +9 -2
  132. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +1 -0
  133. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +8 -16
  134. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  135. data/generated/google/apis/doubleclicksearch_v2/classes.rb +15 -6
  136. data/generated/google/apis/doubleclicksearch_v2/representations.rb +1 -0
  137. data/generated/google/apis/doubleclicksearch_v2/service.rb +13 -23
  138. data/generated/google/apis/drive_v2.rb +1 -1
  139. data/generated/google/apis/drive_v2/classes.rb +73 -30
  140. data/generated/google/apis/drive_v2/representations.rb +14 -0
  141. data/generated/google/apis/drive_v2/service.rb +139 -135
  142. data/generated/google/apis/drive_v3.rb +55 -0
  143. data/generated/google/apis/drive_v3/classes.rb +1534 -0
  144. data/generated/google/apis/drive_v3/representations.rb +497 -0
  145. data/generated/google/apis/drive_v3/service.rb +1541 -0
  146. data/generated/google/apis/fitness_v1.rb +1 -1
  147. data/generated/google/apis/fitness_v1/service.rb +14 -27
  148. data/generated/google/apis/fusiontables_v2/service.rb +40 -73
  149. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  150. data/generated/google/apis/games_configuration_v1configuration/service.rb +14 -27
  151. data/generated/google/apis/games_management_v1management.rb +37 -0
  152. data/generated/google/apis/games_management_v1management/classes.rb +524 -0
  153. data/generated/google/apis/games_management_v1management/representations.rb +231 -0
  154. data/generated/google/apis/games_management_v1management/service.rb +994 -0
  155. data/generated/google/apis/games_v1.rb +1 -1
  156. data/generated/google/apis/games_v1/classes.rb +39 -0
  157. data/generated/google/apis/games_v1/representations.rb +14 -0
  158. data/generated/google/apis/games_v1/service.rb +93 -109
  159. data/generated/google/apis/gan_v1beta1/service.rb +10 -20
  160. data/generated/google/apis/genomics_v1.rb +5 -3
  161. data/generated/google/apis/genomics_v1/classes.rb +519 -200
  162. data/generated/google/apis/genomics_v1/representations.rb +126 -13
  163. data/generated/google/apis/genomics_v1/service.rb +392 -236
  164. data/generated/google/apis/gmail_v1.rb +4 -1
  165. data/generated/google/apis/gmail_v1/service.rb +39 -71
  166. data/generated/google/apis/groupsmigration_v1/service.rb +2 -3
  167. data/generated/google/apis/groupssettings_v1/service.rb +3 -6
  168. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  169. data/generated/google/apis/identitytoolkit_v3/classes.rb +125 -0
  170. data/generated/google/apis/identitytoolkit_v3/representations.rb +37 -0
  171. data/generated/google/apis/identitytoolkit_v3/service.rb +44 -24
  172. data/generated/google/apis/kgsearch_v1.rb +32 -0
  173. data/generated/google/apis/kgsearch_v1/classes.rb +59 -0
  174. data/generated/google/apis/kgsearch_v1/representations.rb +39 -0
  175. data/generated/google/apis/kgsearch_v1/service.rb +111 -0
  176. data/generated/google/apis/licensing_v1.rb +1 -1
  177. data/generated/google/apis/licensing_v1/service.rb +7 -14
  178. data/generated/google/apis/logging_v1beta3.rb +16 -4
  179. data/generated/google/apis/logging_v1beta3/classes.rb +620 -46
  180. data/generated/google/apis/logging_v1beta3/representations.rb +144 -0
  181. data/generated/google/apis/logging_v1beta3/service.rb +435 -104
  182. data/generated/google/apis/manager_v1beta2.rb +3 -0
  183. data/generated/google/apis/manager_v1beta2/service.rb +8 -16
  184. data/generated/google/apis/mapsengine_v1.rb +1 -1
  185. data/generated/google/apis/mapsengine_v1/service.rb +85 -162
  186. data/generated/google/apis/mirror_v1.rb +1 -1
  187. data/generated/google/apis/mirror_v1/service.rb +28 -52
  188. data/generated/google/apis/oauth2_v2.rb +1 -1
  189. data/generated/google/apis/oauth2_v2/service.rb +4 -8
  190. data/generated/google/apis/pagespeedonline_v2/service.rb +1 -2
  191. data/generated/google/apis/partners_v2.rb +32 -0
  192. data/generated/google/apis/partners_v2/classes.rb +942 -0
  193. data/generated/google/apis/partners_v2/representations.rb +402 -0
  194. data/generated/google/apis/partners_v2/service.rb +400 -0
  195. data/generated/google/apis/plus_domains_v1.rb +1 -1
  196. data/generated/google/apis/plus_domains_v1/classes.rb +207 -0
  197. data/generated/google/apis/plus_domains_v1/representations.rb +114 -0
  198. data/generated/google/apis/plus_domains_v1/service.rb +21 -41
  199. data/generated/google/apis/plus_v1.rb +1 -1
  200. data/generated/google/apis/plus_v1/classes.rb +207 -0
  201. data/generated/google/apis/plus_v1/representations.rb +114 -0
  202. data/generated/google/apis/plus_v1/service.rb +11 -56
  203. data/generated/google/apis/prediction_v1_6.rb +1 -1
  204. data/generated/google/apis/prediction_v1_6/service.rb +8 -16
  205. data/generated/google/apis/proximitybeacon_v1beta1.rb +31 -0
  206. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +639 -0
  207. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +274 -0
  208. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +591 -0
  209. data/generated/google/apis/pubsub_v1.rb +37 -0
  210. data/generated/google/apis/pubsub_v1/classes.rb +614 -0
  211. data/generated/google/apis/pubsub_v1/representations.rb +281 -0
  212. data/generated/google/apis/pubsub_v1/service.rb +774 -0
  213. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  214. data/generated/google/apis/pubsub_v1beta2/classes.rb +78 -283
  215. data/generated/google/apis/pubsub_v1beta2/representations.rb +1 -85
  216. data/generated/google/apis/pubsub_v1beta2/service.rb +79 -87
  217. data/generated/google/apis/qpx_express_v1/service.rb +1 -2
  218. data/generated/google/apis/replicapool_v1beta2.rb +3 -0
  219. data/generated/google/apis/replicapool_v1beta2/service.rb +12 -24
  220. data/generated/google/apis/replicapoolupdater_v1beta1.rb +4 -1
  221. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +46 -2
  222. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +16 -0
  223. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +58 -18
  224. data/generated/google/apis/reseller_v1.rb +1 -1
  225. data/generated/google/apis/reseller_v1/classes.rb +19 -1
  226. data/generated/google/apis/reseller_v1/representations.rb +1 -0
  227. data/generated/google/apis/reseller_v1/service.rb +16 -30
  228. data/generated/google/apis/resourceviews_v1beta2.rb +3 -0
  229. data/generated/google/apis/resourceviews_v1beta2/service.rb +16 -27
  230. data/generated/google/apis/script_v1.rb +61 -0
  231. data/generated/google/apis/script_v1/classes.rb +259 -0
  232. data/generated/google/apis/script_v1/representations.rb +106 -0
  233. data/generated/google/apis/script_v1/service.rb +98 -0
  234. data/generated/google/apis/site_verification_v1.rb +1 -1
  235. data/generated/google/apis/site_verification_v1/service.rb +8 -15
  236. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  237. data/generated/google/apis/sqladmin_v1beta4/classes.rb +186 -2
  238. data/generated/google/apis/sqladmin_v1beta4/representations.rb +70 -0
  239. data/generated/google/apis/sqladmin_v1beta4/service.rb +166 -75
  240. data/generated/google/apis/storage_v1.rb +5 -2
  241. data/generated/google/apis/storage_v1/classes.rb +47 -4
  242. data/generated/google/apis/storage_v1/representations.rb +18 -0
  243. data/generated/google/apis/storage_v1/service.rb +77 -94
  244. data/generated/google/apis/storagetransfer_v1.rb +35 -0
  245. data/generated/google/apis/storagetransfer_v1/classes.rb +1046 -0
  246. data/generated/google/apis/storagetransfer_v1/representations.rb +370 -0
  247. data/generated/google/apis/storagetransfer_v1/service.rb +473 -0
  248. data/generated/google/apis/tagmanager_v1.rb +1 -1
  249. data/generated/google/apis/tagmanager_v1/classes.rb +189 -31
  250. data/generated/google/apis/tagmanager_v1/representations.rb +69 -15
  251. data/generated/google/apis/tagmanager_v1/service.rb +114 -275
  252. data/generated/google/apis/taskqueue_v1beta2/service.rb +8 -16
  253. data/generated/google/apis/tasks_v1/service.rb +14 -28
  254. data/generated/google/apis/translate_v2/service.rb +3 -6
  255. data/generated/google/apis/urlshortener_v1/service.rb +3 -6
  256. data/generated/google/apis/webmasters_v3.rb +3 -3
  257. data/generated/google/apis/webmasters_v3/classes.rb +4 -4
  258. data/generated/google/apis/webmasters_v3/service.rb +16 -30
  259. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  260. data/generated/google/apis/youtube_analytics_v1/classes.rb +6 -0
  261. data/generated/google/apis/youtube_analytics_v1/representations.rb +1 -0
  262. data/generated/google/apis/youtube_analytics_v1/service.rb +16 -21
  263. data/generated/google/apis/youtube_v3.rb +1 -1
  264. data/generated/google/apis/youtube_v3/classes.rb +111 -78
  265. data/generated/google/apis/youtube_v3/representations.rb +2 -0
  266. data/generated/google/apis/youtube_v3/service.rb +78 -246
  267. data/generated/google/apis/youtubereporting_v1.rb +38 -0
  268. data/generated/google/apis/youtubereporting_v1/classes.rb +258 -0
  269. data/generated/google/apis/youtubereporting_v1/representations.rb +128 -0
  270. data/generated/google/apis/youtubereporting_v1/service.rb +364 -0
  271. data/google-api-client.gemspec +3 -3
  272. data/lib/google/api_client/auth/installed_app.rb +2 -2
  273. data/lib/google/api_client/auth/key_utils.rb +1 -0
  274. data/lib/google/api_client/auth/storage.rb +1 -0
  275. data/lib/google/api_client/auth/storages/file_store.rb +1 -0
  276. data/lib/google/api_client/auth/storages/redis_store.rb +1 -0
  277. data/lib/google/api_client/client_secrets.rb +4 -5
  278. data/lib/google/apis/core/api_command.rb +2 -2
  279. data/lib/google/apis/core/base_service.rb +1 -0
  280. data/lib/google/apis/core/batch.rb +25 -8
  281. data/lib/google/apis/core/download.rb +1 -1
  282. data/lib/google/apis/core/http_command.rb +24 -12
  283. data/lib/google/apis/core/multipart.rb +20 -6
  284. data/lib/google/apis/core/upload.rb +11 -4
  285. data/lib/google/apis/generator/annotator.rb +29 -10
  286. data/lib/google/apis/generator/helpers.rb +1 -1
  287. data/lib/google/apis/generator/templates/_method.tmpl +5 -6
  288. data/lib/google/apis/options.rb +7 -3
  289. data/lib/google/apis/version.rb +1 -1
  290. data/samples/calendar/calendar.rb +1 -1
  291. data/samples/drive/drive.rb +9 -2
  292. data/samples/pubsub/pubsub.rb +5 -6
  293. data/samples/translate/translate.rb +1 -5
  294. data/script/generate +20 -5
  295. data/spec/fixtures/files/child/.gitignore +0 -0
  296. data/spec/fixtures/files/invalid.json +1 -0
  297. data/spec/google/api_client/client_secrets_spec.rb +38 -1
  298. data/spec/google/apis/core/batch_spec.rb +22 -8
  299. data/spec/google/apis/core/download_spec.rb +13 -0
  300. data/spec/google/apis/core/http_command_spec.rb +26 -9
  301. data/spec/google/apis/core/upload_spec.rb +65 -17
  302. data/spec/google/apis/options_spec.rb +8 -0
  303. data/spec/integration_tests/adsense_spec.rb +28 -0
  304. data/spec/integration_tests/pubsub_spec.rb +3 -3
  305. data/spec/spec_helper.rb +5 -1
  306. data/third_party/hurley_patches.rb +103 -0
  307. metadata +87 -7
@@ -0,0 +1,35 @@
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/storagetransfer_v1/service.rb'
16
+ require 'google/apis/storagetransfer_v1/classes.rb'
17
+ require 'google/apis/storagetransfer_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Google Storage Transfer API
22
+ #
23
+ # Transfers data from external data sources to a Google Cloud Storage bucket or
24
+ # between Google Cloud Storage buckets.
25
+ #
26
+ # @see https://cloud.google.com/storage/transfer
27
+ module StoragetransferV1
28
+ VERSION = 'V1'
29
+ REVISION = '20150811'
30
+
31
+ # View and manage your data across Google Cloud Platform services
32
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,1046 @@
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 StoragetransferV1
24
+
25
+ # Google service account
26
+ class GoogleServiceAccount
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Required.
30
+ # Corresponds to the JSON property `accountEmail`
31
+ # @return [String]
32
+ attr_accessor :account_email
33
+
34
+ def initialize(**args)
35
+ update!(**args)
36
+ end
37
+
38
+ # Update properties of this object
39
+ def update!(**args)
40
+ @account_email = args[:account_email] unless args[:account_email].nil?
41
+ end
42
+ end
43
+
44
+ # This resource represents the configuration of a transfer job that runs
45
+ # periodically.
46
+ class TransferJob
47
+ include Google::Apis::Core::Hashable
48
+
49
+ # A globally unique name assigned by Storage Transfer Service when the job is
50
+ # created. This field should be left empty in requests to create a new transfer
51
+ # job; otherwise, the requests result in an `INVALID_ARGUMENT` error.
52
+ # Corresponds to the JSON property `name`
53
+ # @return [String]
54
+ attr_accessor :name
55
+
56
+ # A description provided by the user for the job. Its max length is 1024 bytes
57
+ # when Unicode-encoded.
58
+ # Corresponds to the JSON property `description`
59
+ # @return [String]
60
+ attr_accessor :description
61
+
62
+ # The ID of the Google Developers Console project that owns the job. Required.
63
+ # Corresponds to the JSON property `projectId`
64
+ # @return [String]
65
+ attr_accessor :project_id
66
+
67
+ # Configuration for running a transfer.
68
+ # Corresponds to the JSON property `transferSpec`
69
+ # @return [Google::Apis::StoragetransferV1::TransferSpec]
70
+ attr_accessor :transfer_spec
71
+
72
+ # Transfers can be scheduled to recur or to run just once.
73
+ # Corresponds to the JSON property `schedule`
74
+ # @return [Google::Apis::StoragetransferV1::Schedule]
75
+ attr_accessor :schedule
76
+
77
+ # Status of the job. This value MUST be specified for `CreateTransferJobRequests`
78
+ # . NOTE: The effect of the new job status takes place during a subsequent job
79
+ # run. For example, if you change the job status from `ENABLED` to `DISABLED`,
80
+ # and an operation spawned by the transfer is running, the status change would
81
+ # not affect the current operation.
82
+ # Corresponds to the JSON property `status`
83
+ # @return [String]
84
+ attr_accessor :status
85
+
86
+ # This field cannot be changed by user requests.
87
+ # Corresponds to the JSON property `creationTime`
88
+ # @return [String]
89
+ attr_accessor :creation_time
90
+
91
+ # This field cannot be changed by user requests.
92
+ # Corresponds to the JSON property `lastModificationTime`
93
+ # @return [String]
94
+ attr_accessor :last_modification_time
95
+
96
+ # This field cannot be changed by user requests.
97
+ # Corresponds to the JSON property `deletionTime`
98
+ # @return [String]
99
+ attr_accessor :deletion_time
100
+
101
+ def initialize(**args)
102
+ update!(**args)
103
+ end
104
+
105
+ # Update properties of this object
106
+ def update!(**args)
107
+ @name = args[:name] unless args[:name].nil?
108
+ @description = args[:description] unless args[:description].nil?
109
+ @project_id = args[:project_id] unless args[:project_id].nil?
110
+ @transfer_spec = args[:transfer_spec] unless args[:transfer_spec].nil?
111
+ @schedule = args[:schedule] unless args[:schedule].nil?
112
+ @status = args[:status] unless args[:status].nil?
113
+ @creation_time = args[:creation_time] unless args[:creation_time].nil?
114
+ @last_modification_time = args[:last_modification_time] unless args[:last_modification_time].nil?
115
+ @deletion_time = args[:deletion_time] unless args[:deletion_time].nil?
116
+ end
117
+ end
118
+
119
+ # Configuration for running a transfer.
120
+ class TransferSpec
121
+ include Google::Apis::Core::Hashable
122
+
123
+ # In a GcsData, an object's name is the Google Cloud Storage object's name and
124
+ # its `lastModificationTime` refers to the object's updated time, which changes
125
+ # when the content or the metadata of the object is updated.
126
+ # Corresponds to the JSON property `gcsDataSource`
127
+ # @return [Google::Apis::StoragetransferV1::GcsData]
128
+ attr_accessor :gcs_data_source
129
+
130
+ # An AwsS3Data can be a data source, but not a data sink. In an AwsS3Data, an
131
+ # object's name is the S3 object's key name.
132
+ # Corresponds to the JSON property `awsS3DataSource`
133
+ # @return [Google::Apis::StoragetransferV1::AwsS3Data]
134
+ attr_accessor :aws_s3_data_source
135
+
136
+ # An HttpData specifies a list of objects on the web to be transferred over HTTP.
137
+ # The information of the objects to be transferred is contained in a file
138
+ # referenced by a URL. The first line in the file must be "TsvHttpData-1.0",
139
+ # which specifies the format of the file. Subsequent lines specify the
140
+ # information of the list of objects, one object per list entry. Each entry has
141
+ # the following tab-delimited fields: * HTTP URL * Length * MD5 - This field is
142
+ # a base64-encoded MD5 hash of the object An HTTP URL that points to the object
143
+ # to be transferred. It must be a valid URL with URL scheme HTTP or HTTPS. When
144
+ # an object with URL `http(s)://hostname:port/` is transferred to the data sink,
145
+ # the name of the object at the data sink is `/`. Length and MD5 provide the
146
+ # size and the base64-encoded MD5 hash of the object. If Length does not match
147
+ # the actual length of the object fetched, the object will not be transferred.
148
+ # If MD5 does not match the MD5 computed from the transferred bytes, the object
149
+ # transfer will fail. `lastModificationTime` is not available in HttpData
150
+ # objects. The objects that the URL list points to must allow public access.
151
+ # Storage Transfer Service obeys `robots.txt` rules and requires the HTTP server
152
+ # to support Range requests and to return a Content-Length header in each
153
+ # response.
154
+ # Corresponds to the JSON property `httpDataSource`
155
+ # @return [Google::Apis::StoragetransferV1::HttpData]
156
+ attr_accessor :http_data_source
157
+
158
+ # In a GcsData, an object's name is the Google Cloud Storage object's name and
159
+ # its `lastModificationTime` refers to the object's updated time, which changes
160
+ # when the content or the metadata of the object is updated.
161
+ # Corresponds to the JSON property `gcsDataSink`
162
+ # @return [Google::Apis::StoragetransferV1::GcsData]
163
+ attr_accessor :gcs_data_sink
164
+
165
+ # Conditions that determine which objects will be transferred.
166
+ # Corresponds to the JSON property `objectConditions`
167
+ # @return [Google::Apis::StoragetransferV1::ObjectConditions]
168
+ attr_accessor :object_conditions
169
+
170
+ # TransferOptions uses three boolean parameters to define the actions to be
171
+ # performed on objects in a transfer.
172
+ # Corresponds to the JSON property `transferOptions`
173
+ # @return [Google::Apis::StoragetransferV1::TransferOptions]
174
+ attr_accessor :transfer_options
175
+
176
+ def initialize(**args)
177
+ update!(**args)
178
+ end
179
+
180
+ # Update properties of this object
181
+ def update!(**args)
182
+ @gcs_data_source = args[:gcs_data_source] unless args[:gcs_data_source].nil?
183
+ @aws_s3_data_source = args[:aws_s3_data_source] unless args[:aws_s3_data_source].nil?
184
+ @http_data_source = args[:http_data_source] unless args[:http_data_source].nil?
185
+ @gcs_data_sink = args[:gcs_data_sink] unless args[:gcs_data_sink].nil?
186
+ @object_conditions = args[:object_conditions] unless args[:object_conditions].nil?
187
+ @transfer_options = args[:transfer_options] unless args[:transfer_options].nil?
188
+ end
189
+ end
190
+
191
+ # In a GcsData, an object's name is the Google Cloud Storage object's name and
192
+ # its `lastModificationTime` refers to the object's updated time, which changes
193
+ # when the content or the metadata of the object is updated.
194
+ class GcsData
195
+ include Google::Apis::Core::Hashable
196
+
197
+ # Google Cloud Storage bucket name (see [Bucket Name Requirements](https://cloud.
198
+ # google.com/storage/docs/bucket-naming#requirements)). Required.
199
+ # Corresponds to the JSON property `bucketName`
200
+ # @return [String]
201
+ attr_accessor :bucket_name
202
+
203
+ def initialize(**args)
204
+ update!(**args)
205
+ end
206
+
207
+ # Update properties of this object
208
+ def update!(**args)
209
+ @bucket_name = args[:bucket_name] unless args[:bucket_name].nil?
210
+ end
211
+ end
212
+
213
+ # An AwsS3Data can be a data source, but not a data sink. In an AwsS3Data, an
214
+ # object's name is the S3 object's key name.
215
+ class AwsS3Data
216
+ include Google::Apis::Core::Hashable
217
+
218
+ # S3 Bucket name (see [Creating a bucket](http://docs.aws.amazon.com/AmazonS3/
219
+ # latest/dev/create-bucket-get-location-example.html)). Required.
220
+ # Corresponds to the JSON property `bucketName`
221
+ # @return [String]
222
+ attr_accessor :bucket_name
223
+
224
+ # AWS access key (see [AWS Security Credentials](http://docs.aws.amazon.com/
225
+ # general/latest/gr/aws-security-credentials.html)).
226
+ # Corresponds to the JSON property `awsAccessKey`
227
+ # @return [Google::Apis::StoragetransferV1::AwsAccessKey]
228
+ attr_accessor :aws_access_key
229
+
230
+ def initialize(**args)
231
+ update!(**args)
232
+ end
233
+
234
+ # Update properties of this object
235
+ def update!(**args)
236
+ @bucket_name = args[:bucket_name] unless args[:bucket_name].nil?
237
+ @aws_access_key = args[:aws_access_key] unless args[:aws_access_key].nil?
238
+ end
239
+ end
240
+
241
+ # AWS access key (see [AWS Security Credentials](http://docs.aws.amazon.com/
242
+ # general/latest/gr/aws-security-credentials.html)).
243
+ class AwsAccessKey
244
+ include Google::Apis::Core::Hashable
245
+
246
+ # AWS access key ID. Required.
247
+ # Corresponds to the JSON property `accessKeyId`
248
+ # @return [String]
249
+ attr_accessor :access_key_id
250
+
251
+ # AWS secret access key. This field is not returned in RPC responses. Required.
252
+ # Corresponds to the JSON property `secretAccessKey`
253
+ # @return [String]
254
+ attr_accessor :secret_access_key
255
+
256
+ def initialize(**args)
257
+ update!(**args)
258
+ end
259
+
260
+ # Update properties of this object
261
+ def update!(**args)
262
+ @access_key_id = args[:access_key_id] unless args[:access_key_id].nil?
263
+ @secret_access_key = args[:secret_access_key] unless args[:secret_access_key].nil?
264
+ end
265
+ end
266
+
267
+ # An HttpData specifies a list of objects on the web to be transferred over HTTP.
268
+ # The information of the objects to be transferred is contained in a file
269
+ # referenced by a URL. The first line in the file must be "TsvHttpData-1.0",
270
+ # which specifies the format of the file. Subsequent lines specify the
271
+ # information of the list of objects, one object per list entry. Each entry has
272
+ # the following tab-delimited fields: * HTTP URL * Length * MD5 - This field is
273
+ # a base64-encoded MD5 hash of the object An HTTP URL that points to the object
274
+ # to be transferred. It must be a valid URL with URL scheme HTTP or HTTPS. When
275
+ # an object with URL `http(s)://hostname:port/` is transferred to the data sink,
276
+ # the name of the object at the data sink is `/`. Length and MD5 provide the
277
+ # size and the base64-encoded MD5 hash of the object. If Length does not match
278
+ # the actual length of the object fetched, the object will not be transferred.
279
+ # If MD5 does not match the MD5 computed from the transferred bytes, the object
280
+ # transfer will fail. `lastModificationTime` is not available in HttpData
281
+ # objects. The objects that the URL list points to must allow public access.
282
+ # Storage Transfer Service obeys `robots.txt` rules and requires the HTTP server
283
+ # to support Range requests and to return a Content-Length header in each
284
+ # response.
285
+ class HttpData
286
+ include Google::Apis::Core::Hashable
287
+
288
+ # The URL that points to the file that stores the object list entries. This file
289
+ # must allow public access. Currently, only URLs with HTTP and HTTPS schemes are
290
+ # supported. Required.
291
+ # Corresponds to the JSON property `listUrl`
292
+ # @return [String]
293
+ attr_accessor :list_url
294
+
295
+ def initialize(**args)
296
+ update!(**args)
297
+ end
298
+
299
+ # Update properties of this object
300
+ def update!(**args)
301
+ @list_url = args[:list_url] unless args[:list_url].nil?
302
+ end
303
+ end
304
+
305
+ # Conditions that determine which objects will be transferred.
306
+ class ObjectConditions
307
+ include Google::Apis::Core::Hashable
308
+
309
+ # If unspecified, `minTimeElapsedSinceLastModification` takes a zero value and `
310
+ # maxTimeElapsedSinceLastModification` takes the maximum possible value of
311
+ # Duration. Objects that satisfy the object conditions must either have a `
312
+ # lastModificationTime` greater or equal to `NOW` - `
313
+ # maxTimeElapsedSinceLastModification` and less than `NOW` - `
314
+ # minTimeElapsedSinceLastModification`, or not have a `lastModificationTime`.
315
+ # Corresponds to the JSON property `minTimeElapsedSinceLastModification`
316
+ # @return [String]
317
+ attr_accessor :min_time_elapsed_since_last_modification
318
+
319
+ # `maxTimeElapsedSinceLastModification` is the complement to `
320
+ # minTimeElapsedSinceLastModification`.
321
+ # Corresponds to the JSON property `maxTimeElapsedSinceLastModification`
322
+ # @return [String]
323
+ attr_accessor :max_time_elapsed_since_last_modification
324
+
325
+ # If `includePrefixes` is specified, objects that satisfy the object conditions
326
+ # must have names that start with one of the `includePrefixes` and that do not
327
+ # start with any of the `excludePrefixes`. If `includePrefixes` is not specified,
328
+ # all objects except those that have names starting with one of the `
329
+ # excludePrefixes` must satisfy the object conditions. Requirements: * Each
330
+ # include-prefix and exclude-prefix can contain any sequence of Unicode
331
+ # characters, of max length 1024 bytes when UTF8-encoded, and must not contain
332
+ # Carriage Return or Line Feed characters. Wildcard matching and regular
333
+ # expression matching are not supported. * None of the include-prefix or the
334
+ # exclude-prefix values can be empty, if specified. * Each include-prefix must
335
+ # include a distinct portion of the object namespace, i.e., no include-prefix
336
+ # may be a prefix of another include-prefix. * Each exclude-prefix must exclude
337
+ # a distinct portion of the object namespace, i.e., no exclude-prefix may be a
338
+ # prefix of another exclude-prefix. * If `includePrefixes` is specified, then
339
+ # each exclude-prefix must start with the value of a path explicitly included by
340
+ # `includePrefixes`. The max size of `includePrefixes` is 20.
341
+ # Corresponds to the JSON property `includePrefixes`
342
+ # @return [Array<String>]
343
+ attr_accessor :include_prefixes
344
+
345
+ # `excludePrefixes` must follow the requirements described for `includePrefixes`.
346
+ # The max size of `excludePrefixes` is 20.
347
+ # Corresponds to the JSON property `excludePrefixes`
348
+ # @return [Array<String>]
349
+ attr_accessor :exclude_prefixes
350
+
351
+ def initialize(**args)
352
+ update!(**args)
353
+ end
354
+
355
+ # Update properties of this object
356
+ def update!(**args)
357
+ @min_time_elapsed_since_last_modification = args[:min_time_elapsed_since_last_modification] unless args[:min_time_elapsed_since_last_modification].nil?
358
+ @max_time_elapsed_since_last_modification = args[:max_time_elapsed_since_last_modification] unless args[:max_time_elapsed_since_last_modification].nil?
359
+ @include_prefixes = args[:include_prefixes] unless args[:include_prefixes].nil?
360
+ @exclude_prefixes = args[:exclude_prefixes] unless args[:exclude_prefixes].nil?
361
+ end
362
+ end
363
+
364
+ # TransferOptions uses three boolean parameters to define the actions to be
365
+ # performed on objects in a transfer.
366
+ class TransferOptions
367
+ include Google::Apis::Core::Hashable
368
+
369
+ # Whether overwriting objects that already exist in the sink is allowed.
370
+ # Corresponds to the JSON property `overwriteObjectsAlreadyExistingInSink`
371
+ # @return [Boolean]
372
+ attr_accessor :overwrite_objects_already_existing_in_sink
373
+ alias_method :overwrite_objects_already_existing_in_sink?, :overwrite_objects_already_existing_in_sink
374
+
375
+ # Whether objects that exist only in the sink should be deleted.
376
+ # Corresponds to the JSON property `deleteObjectsUniqueInSink`
377
+ # @return [Boolean]
378
+ attr_accessor :delete_objects_unique_in_sink
379
+ alias_method :delete_objects_unique_in_sink?, :delete_objects_unique_in_sink
380
+
381
+ # Whether objects should be deleted from the source after they are transferred
382
+ # to the sink.
383
+ # Corresponds to the JSON property `deleteObjectsFromSourceAfterTransfer`
384
+ # @return [Boolean]
385
+ attr_accessor :delete_objects_from_source_after_transfer
386
+ alias_method :delete_objects_from_source_after_transfer?, :delete_objects_from_source_after_transfer
387
+
388
+ def initialize(**args)
389
+ update!(**args)
390
+ end
391
+
392
+ # Update properties of this object
393
+ def update!(**args)
394
+ @overwrite_objects_already_existing_in_sink = args[:overwrite_objects_already_existing_in_sink] unless args[:overwrite_objects_already_existing_in_sink].nil?
395
+ @delete_objects_unique_in_sink = args[:delete_objects_unique_in_sink] unless args[:delete_objects_unique_in_sink].nil?
396
+ @delete_objects_from_source_after_transfer = args[:delete_objects_from_source_after_transfer] unless args[:delete_objects_from_source_after_transfer].nil?
397
+ end
398
+ end
399
+
400
+ # Transfers can be scheduled to recur or to run just once.
401
+ class Schedule
402
+ include Google::Apis::Core::Hashable
403
+
404
+ # Represents a whole calendar date, e.g. date of birth. The time of day and time
405
+ # zone are either specified elsewhere or are not significant. The date is
406
+ # relative to the Proleptic Gregorian Calendar. The day may be 0 to represent a
407
+ # year and month where the day is not significant, e.g. credit card expiration
408
+ # date. The year may be 0 to represent a month and day independent of year, e.g.
409
+ # anniversary date. Related types are [google.type.TimeOfDay][google.type.
410
+ # TimeOfDay] and `google.protobuf.Timestamp`.
411
+ # Corresponds to the JSON property `scheduleStartDate`
412
+ # @return [Google::Apis::StoragetransferV1::Date]
413
+ attr_accessor :schedule_start_date
414
+
415
+ # Represents a whole calendar date, e.g. date of birth. The time of day and time
416
+ # zone are either specified elsewhere or are not significant. The date is
417
+ # relative to the Proleptic Gregorian Calendar. The day may be 0 to represent a
418
+ # year and month where the day is not significant, e.g. credit card expiration
419
+ # date. The year may be 0 to represent a month and day independent of year, e.g.
420
+ # anniversary date. Related types are [google.type.TimeOfDay][google.type.
421
+ # TimeOfDay] and `google.protobuf.Timestamp`.
422
+ # Corresponds to the JSON property `scheduleEndDate`
423
+ # @return [Google::Apis::StoragetransferV1::Date]
424
+ attr_accessor :schedule_end_date
425
+
426
+ # Represents a time of day. The date and time zone are either not significant or
427
+ # are specified elsewhere. An API may chose to allow leap seconds. Related types
428
+ # are [google.type.Date][google.type.Date] and `google.protobuf.Timestamp`.
429
+ # Corresponds to the JSON property `startTimeOfDay`
430
+ # @return [Google::Apis::StoragetransferV1::TimeOfDay]
431
+ attr_accessor :start_time_of_day
432
+
433
+ def initialize(**args)
434
+ update!(**args)
435
+ end
436
+
437
+ # Update properties of this object
438
+ def update!(**args)
439
+ @schedule_start_date = args[:schedule_start_date] unless args[:schedule_start_date].nil?
440
+ @schedule_end_date = args[:schedule_end_date] unless args[:schedule_end_date].nil?
441
+ @start_time_of_day = args[:start_time_of_day] unless args[:start_time_of_day].nil?
442
+ end
443
+ end
444
+
445
+ # Represents a whole calendar date, e.g. date of birth. The time of day and time
446
+ # zone are either specified elsewhere or are not significant. The date is
447
+ # relative to the Proleptic Gregorian Calendar. The day may be 0 to represent a
448
+ # year and month where the day is not significant, e.g. credit card expiration
449
+ # date. The year may be 0 to represent a month and day independent of year, e.g.
450
+ # anniversary date. Related types are [google.type.TimeOfDay][google.type.
451
+ # TimeOfDay] and `google.protobuf.Timestamp`.
452
+ class Date
453
+ include Google::Apis::Core::Hashable
454
+
455
+ # Year of date. Must be from 1 to 9,999, or 0 if specifying a date without a
456
+ # year.
457
+ # Corresponds to the JSON property `year`
458
+ # @return [Fixnum]
459
+ attr_accessor :year
460
+
461
+ # Month of year of date. Must be from 1 to 12.
462
+ # Corresponds to the JSON property `month`
463
+ # @return [Fixnum]
464
+ attr_accessor :month
465
+
466
+ # Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if
467
+ # specifying a year/month where the day is not sigificant.
468
+ # Corresponds to the JSON property `day`
469
+ # @return [Fixnum]
470
+ attr_accessor :day
471
+
472
+ def initialize(**args)
473
+ update!(**args)
474
+ end
475
+
476
+ # Update properties of this object
477
+ def update!(**args)
478
+ @year = args[:year] unless args[:year].nil?
479
+ @month = args[:month] unless args[:month].nil?
480
+ @day = args[:day] unless args[:day].nil?
481
+ end
482
+ end
483
+
484
+ # Represents a time of day. The date and time zone are either not significant or
485
+ # are specified elsewhere. An API may chose to allow leap seconds. Related types
486
+ # are [google.type.Date][google.type.Date] and `google.protobuf.Timestamp`.
487
+ class TimeOfDay
488
+ include Google::Apis::Core::Hashable
489
+
490
+ # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to
491
+ # allow the value "24:00:00" for scenarios like business closing time.
492
+ # Corresponds to the JSON property `hours`
493
+ # @return [Fixnum]
494
+ attr_accessor :hours
495
+
496
+ # Minutes of hour of day. Must be from 0 to 59.
497
+ # Corresponds to the JSON property `minutes`
498
+ # @return [Fixnum]
499
+ attr_accessor :minutes
500
+
501
+ # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
502
+ # allow the value 60 if it allows leap-seconds.
503
+ # Corresponds to the JSON property `seconds`
504
+ # @return [Fixnum]
505
+ attr_accessor :seconds
506
+
507
+ # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
508
+ # Corresponds to the JSON property `nanos`
509
+ # @return [Fixnum]
510
+ attr_accessor :nanos
511
+
512
+ def initialize(**args)
513
+ update!(**args)
514
+ end
515
+
516
+ # Update properties of this object
517
+ def update!(**args)
518
+ @hours = args[:hours] unless args[:hours].nil?
519
+ @minutes = args[:minutes] unless args[:minutes].nil?
520
+ @seconds = args[:seconds] unless args[:seconds].nil?
521
+ @nanos = args[:nanos] unless args[:nanos].nil?
522
+ end
523
+ end
524
+
525
+ # Request passed to UpdateTransferJob.
526
+ class UpdateTransferJobRequest
527
+ include Google::Apis::Core::Hashable
528
+
529
+ # The ID of the Google Developers Console project that owns the job. Required.
530
+ # Corresponds to the JSON property `projectId`
531
+ # @return [String]
532
+ attr_accessor :project_id
533
+
534
+ # This resource represents the configuration of a transfer job that runs
535
+ # periodically.
536
+ # Corresponds to the JSON property `transferJob`
537
+ # @return [Google::Apis::StoragetransferV1::TransferJob]
538
+ attr_accessor :transfer_job
539
+
540
+ # The field mask of the fields in `transferJob` that are to be updated in this
541
+ # request. Fields in `transferJob` that can be updated are: `description`, `
542
+ # transferSpec`, and `status`. To update the `transferSpec` of the job, a
543
+ # complete transfer specification has to be provided. An incomplete
544
+ # specification which misses any required fields will be rejected with the error
545
+ # `INVALID_ARGUMENT`.
546
+ # Corresponds to the JSON property `updateTransferJobFieldMask`
547
+ # @return [String]
548
+ attr_accessor :update_transfer_job_field_mask
549
+
550
+ def initialize(**args)
551
+ update!(**args)
552
+ end
553
+
554
+ # Update properties of this object
555
+ def update!(**args)
556
+ @project_id = args[:project_id] unless args[:project_id].nil?
557
+ @transfer_job = args[:transfer_job] unless args[:transfer_job].nil?
558
+ @update_transfer_job_field_mask = args[:update_transfer_job_field_mask] unless args[:update_transfer_job_field_mask].nil?
559
+ end
560
+ end
561
+
562
+ # Response from ListTransferJobs.
563
+ class ListTransferJobsResponse
564
+ include Google::Apis::Core::Hashable
565
+
566
+ # A list of transfer jobs.
567
+ # Corresponds to the JSON property `transferJobs`
568
+ # @return [Array<Google::Apis::StoragetransferV1::TransferJob>]
569
+ attr_accessor :transfer_jobs
570
+
571
+ # The list next page token.
572
+ # Corresponds to the JSON property `nextPageToken`
573
+ # @return [String]
574
+ attr_accessor :next_page_token
575
+
576
+ def initialize(**args)
577
+ update!(**args)
578
+ end
579
+
580
+ # Update properties of this object
581
+ def update!(**args)
582
+ @transfer_jobs = args[:transfer_jobs] unless args[:transfer_jobs].nil?
583
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
584
+ end
585
+ end
586
+
587
+ # Request passed to PauseTransferOperation.
588
+ class PauseTransferOperationRequest
589
+ include Google::Apis::Core::Hashable
590
+
591
+ def initialize(**args)
592
+ update!(**args)
593
+ end
594
+
595
+ # Update properties of this object
596
+ def update!(**args)
597
+ end
598
+ end
599
+
600
+ # A generic empty message that you can re-use to avoid defining duplicated empty
601
+ # messages in your APIs. A typical example is to use it as the request or the
602
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
603
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
604
+ # `Empty` is empty JSON object ````.
605
+ class Empty
606
+ include Google::Apis::Core::Hashable
607
+
608
+ def initialize(**args)
609
+ update!(**args)
610
+ end
611
+
612
+ # Update properties of this object
613
+ def update!(**args)
614
+ end
615
+ end
616
+
617
+ # Request passed to ResumeTransferOperation.
618
+ class ResumeTransferOperationRequest
619
+ include Google::Apis::Core::Hashable
620
+
621
+ def initialize(**args)
622
+ update!(**args)
623
+ end
624
+
625
+ # Update properties of this object
626
+ def update!(**args)
627
+ end
628
+ end
629
+
630
+ # This resource represents a long-running operation that is the result of a
631
+ # network API call.
632
+ class Operation
633
+ include Google::Apis::Core::Hashable
634
+
635
+ # The server-assigned name, which is only unique within the same service that
636
+ # originally returns it. If you use the default HTTP mapping above, the `name`
637
+ # should have the format of `operations/some/unique/name`.
638
+ # Corresponds to the JSON property `name`
639
+ # @return [String]
640
+ attr_accessor :name
641
+
642
+ # Represents the transfer operation object.
643
+ # Corresponds to the JSON property `metadata`
644
+ # @return [Hash<String,Object>]
645
+ attr_accessor :metadata
646
+
647
+ # If the value is `false`, it means the operation is still in progress. If true,
648
+ # the operation is completed and the `result` is available.
649
+ # Corresponds to the JSON property `done`
650
+ # @return [Boolean]
651
+ attr_accessor :done
652
+ alias_method :done?, :done
653
+
654
+ # The `Status` type defines a logical error model that is suitable for different
655
+ # programming environments, including REST APIs and RPC APIs. It is used by [
656
+ # gRPC](https://github.com/grpc). The error model is designed to be: - Simple to
657
+ # use and understand for most users - Flexible enough to meet unexpected needs #
658
+ # Overview The `Status` message contains three pieces of data: error code, error
659
+ # message, and error details. The error code should be an enum value of [google.
660
+ # rpc.Code][google.rpc.Code], but it may accept additional error codes if needed.
661
+ # The error message should be a developer-facing English message that helps
662
+ # developers *understand* and *resolve* the error. If a localized user-facing
663
+ # error message is needed, put the localized message in the error details or
664
+ # localize it in the client. The optional error details may contain arbitrary
665
+ # information about the error. There is a predefined set of error detail types
666
+ # in the package `google.rpc` which can be used for common error conditions. #
667
+ # Language mapping The `Status` message is the logical representation of the
668
+ # error model, but it is not necessarily the actual wire format. When the `
669
+ # Status` message is exposed in different client libraries and different wire
670
+ # protocols, it can be mapped differently. For example, it will likely be mapped
671
+ # to some exceptions in Java, but more likely mapped to some error codes in C. #
672
+ # Other uses The error model and the `Status` message can be used in a variety
673
+ # of environments, either with or without APIs, to provide a consistent
674
+ # developer experience across different environments. Example uses of this error
675
+ # model include: - Partial errors. If a service needs to return partial errors
676
+ # to the client, it may embed the `Status` in the normal response to indicate
677
+ # the partial errors. - Workflow errors. A typical workflow has multiple steps.
678
+ # Each step may have a `Status` message for error reporting purpose. - Batch
679
+ # operations. If a client uses batch request and batch response, the `Status`
680
+ # message should be used directly inside batch response, one for each error sub-
681
+ # response. - Asynchronous operations. If an API call embeds asynchronous
682
+ # operation results in its response, the status of those operations should be
683
+ # represented directly using the `Status` message. - Logging. If some API errors
684
+ # are stored in logs, the message `Status` could be used directly after any
685
+ # stripping needed for security/privacy reasons.
686
+ # Corresponds to the JSON property `error`
687
+ # @return [Google::Apis::StoragetransferV1::Status]
688
+ attr_accessor :error
689
+
690
+ # The normal response of the operation in case of success. If the original
691
+ # method returns no data on success, such as `Delete`, the response is `google.
692
+ # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
693
+ # the response should be the resource. For other methods, the response should
694
+ # have the type `XxxResponse`, where `Xxx` is the original method name. For
695
+ # example, if the original method name is `TakeSnapshot()`, the inferred
696
+ # response type is `TakeSnapshotResponse`.
697
+ # Corresponds to the JSON property `response`
698
+ # @return [Hash<String,Object>]
699
+ attr_accessor :response
700
+
701
+ def initialize(**args)
702
+ update!(**args)
703
+ end
704
+
705
+ # Update properties of this object
706
+ def update!(**args)
707
+ @name = args[:name] unless args[:name].nil?
708
+ @metadata = args[:metadata] unless args[:metadata].nil?
709
+ @done = args[:done] unless args[:done].nil?
710
+ @error = args[:error] unless args[:error].nil?
711
+ @response = args[:response] unless args[:response].nil?
712
+ end
713
+ end
714
+
715
+ # The `Status` type defines a logical error model that is suitable for different
716
+ # programming environments, including REST APIs and RPC APIs. It is used by [
717
+ # gRPC](https://github.com/grpc). The error model is designed to be: - Simple to
718
+ # use and understand for most users - Flexible enough to meet unexpected needs #
719
+ # Overview The `Status` message contains three pieces of data: error code, error
720
+ # message, and error details. The error code should be an enum value of [google.
721
+ # rpc.Code][google.rpc.Code], but it may accept additional error codes if needed.
722
+ # The error message should be a developer-facing English message that helps
723
+ # developers *understand* and *resolve* the error. If a localized user-facing
724
+ # error message is needed, put the localized message in the error details or
725
+ # localize it in the client. The optional error details may contain arbitrary
726
+ # information about the error. There is a predefined set of error detail types
727
+ # in the package `google.rpc` which can be used for common error conditions. #
728
+ # Language mapping The `Status` message is the logical representation of the
729
+ # error model, but it is not necessarily the actual wire format. When the `
730
+ # Status` message is exposed in different client libraries and different wire
731
+ # protocols, it can be mapped differently. For example, it will likely be mapped
732
+ # to some exceptions in Java, but more likely mapped to some error codes in C. #
733
+ # Other uses The error model and the `Status` message can be used in a variety
734
+ # of environments, either with or without APIs, to provide a consistent
735
+ # developer experience across different environments. Example uses of this error
736
+ # model include: - Partial errors. If a service needs to return partial errors
737
+ # to the client, it may embed the `Status` in the normal response to indicate
738
+ # the partial errors. - Workflow errors. A typical workflow has multiple steps.
739
+ # Each step may have a `Status` message for error reporting purpose. - Batch
740
+ # operations. If a client uses batch request and batch response, the `Status`
741
+ # message should be used directly inside batch response, one for each error sub-
742
+ # response. - Asynchronous operations. If an API call embeds asynchronous
743
+ # operation results in its response, the status of those operations should be
744
+ # represented directly using the `Status` message. - Logging. If some API errors
745
+ # are stored in logs, the message `Status` could be used directly after any
746
+ # stripping needed for security/privacy reasons.
747
+ class Status
748
+ include Google::Apis::Core::Hashable
749
+
750
+ # The status code, which should be an enum value of [google.rpc.Code][google.rpc.
751
+ # Code].
752
+ # Corresponds to the JSON property `code`
753
+ # @return [Fixnum]
754
+ attr_accessor :code
755
+
756
+ # A developer-facing error message, which should be in English. Any user-facing
757
+ # error message should be localized and sent in the [google.rpc.Status.details][
758
+ # google.rpc.Status.details] field, or localized by the client.
759
+ # Corresponds to the JSON property `message`
760
+ # @return [String]
761
+ attr_accessor :message
762
+
763
+ # A list of messages that carry the error details. There will be a common set of
764
+ # message types for APIs to use.
765
+ # Corresponds to the JSON property `details`
766
+ # @return [Array<Hash<String,Object>>]
767
+ attr_accessor :details
768
+
769
+ def initialize(**args)
770
+ update!(**args)
771
+ end
772
+
773
+ # Update properties of this object
774
+ def update!(**args)
775
+ @code = args[:code] unless args[:code].nil?
776
+ @message = args[:message] unless args[:message].nil?
777
+ @details = args[:details] unless args[:details].nil?
778
+ end
779
+ end
780
+
781
+ # The response message for [Operations.ListOperations][google.longrunning.
782
+ # Operations.ListOperations].
783
+ class ListOperationsResponse
784
+ include Google::Apis::Core::Hashable
785
+
786
+ # A list of operations that matches the specified filter in the request.
787
+ # Corresponds to the JSON property `operations`
788
+ # @return [Array<Google::Apis::StoragetransferV1::Operation>]
789
+ attr_accessor :operations
790
+
791
+ # The standard List next-page token.
792
+ # Corresponds to the JSON property `nextPageToken`
793
+ # @return [String]
794
+ attr_accessor :next_page_token
795
+
796
+ def initialize(**args)
797
+ update!(**args)
798
+ end
799
+
800
+ # Update properties of this object
801
+ def update!(**args)
802
+ @operations = args[:operations] unless args[:operations].nil?
803
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
804
+ end
805
+ end
806
+
807
+ # A description of the execution of a transfer.
808
+ class TransferOperation
809
+ include Google::Apis::Core::Hashable
810
+
811
+ # A globally unique ID assigned by the system.
812
+ # Corresponds to the JSON property `name`
813
+ # @return [String]
814
+ attr_accessor :name
815
+
816
+ # The ID of the Google Developers Console project that owns the operation.
817
+ # Required.
818
+ # Corresponds to the JSON property `projectId`
819
+ # @return [String]
820
+ attr_accessor :project_id
821
+
822
+ # Configuration for running a transfer.
823
+ # Corresponds to the JSON property `transferSpec`
824
+ # @return [Google::Apis::StoragetransferV1::TransferSpec]
825
+ attr_accessor :transfer_spec
826
+
827
+ # Start time of this transfer execution.
828
+ # Corresponds to the JSON property `startTime`
829
+ # @return [String]
830
+ attr_accessor :start_time
831
+
832
+ # End time of this transfer execution.
833
+ # Corresponds to the JSON property `endTime`
834
+ # @return [String]
835
+ attr_accessor :end_time
836
+
837
+ # Status of the transfer operation.
838
+ # Corresponds to the JSON property `status`
839
+ # @return [String]
840
+ attr_accessor :status
841
+
842
+ # A collection of counters that report the progress of a transfer operation.
843
+ # Corresponds to the JSON property `counters`
844
+ # @return [Google::Apis::StoragetransferV1::TransferCounters]
845
+ attr_accessor :counters
846
+
847
+ # Summarizes errors encountered with sample error log entries.
848
+ # Corresponds to the JSON property `errorBreakdowns`
849
+ # @return [Array<Google::Apis::StoragetransferV1::ErrorSummary>]
850
+ attr_accessor :error_breakdowns
851
+
852
+ # The name of the transfer job that triggers this transfer operation.
853
+ # Corresponds to the JSON property `transferJobName`
854
+ # @return [String]
855
+ attr_accessor :transfer_job_name
856
+
857
+ def initialize(**args)
858
+ update!(**args)
859
+ end
860
+
861
+ # Update properties of this object
862
+ def update!(**args)
863
+ @name = args[:name] unless args[:name].nil?
864
+ @project_id = args[:project_id] unless args[:project_id].nil?
865
+ @transfer_spec = args[:transfer_spec] unless args[:transfer_spec].nil?
866
+ @start_time = args[:start_time] unless args[:start_time].nil?
867
+ @end_time = args[:end_time] unless args[:end_time].nil?
868
+ @status = args[:status] unless args[:status].nil?
869
+ @counters = args[:counters] unless args[:counters].nil?
870
+ @error_breakdowns = args[:error_breakdowns] unless args[:error_breakdowns].nil?
871
+ @transfer_job_name = args[:transfer_job_name] unless args[:transfer_job_name].nil?
872
+ end
873
+ end
874
+
875
+ # A collection of counters that report the progress of a transfer operation.
876
+ class TransferCounters
877
+ include Google::Apis::Core::Hashable
878
+
879
+ # Objects found in the data source that are scheduled to be transferred, which
880
+ # will be copied, excluded based on conditions, or skipped due to failures.
881
+ # Corresponds to the JSON property `objectsFoundFromSource`
882
+ # @return [String]
883
+ attr_accessor :objects_found_from_source
884
+
885
+ # Bytes found in the data source that are scheduled to be transferred, which
886
+ # will be copied, excluded based on conditions, or skipped due to failures.
887
+ # Corresponds to the JSON property `bytesFoundFromSource`
888
+ # @return [String]
889
+ attr_accessor :bytes_found_from_source
890
+
891
+ # Objects found only in the data sink that are scheduled to be deleted.
892
+ # Corresponds to the JSON property `objectsFoundOnlyFromSink`
893
+ # @return [String]
894
+ attr_accessor :objects_found_only_from_sink
895
+
896
+ # Bytes found only in the data sink that are scheduled to be deleted.
897
+ # Corresponds to the JSON property `bytesFoundOnlyFromSink`
898
+ # @return [String]
899
+ attr_accessor :bytes_found_only_from_sink
900
+
901
+ # Objects in the data source that are not transferred because they already exist
902
+ # in the data sink.
903
+ # Corresponds to the JSON property `objectsFromSourceSkippedBySync`
904
+ # @return [String]
905
+ attr_accessor :objects_from_source_skipped_by_sync
906
+
907
+ # Bytes in the data source that are not transferred because they already exist
908
+ # in the data sink.
909
+ # Corresponds to the JSON property `bytesFromSourceSkippedBySync`
910
+ # @return [String]
911
+ attr_accessor :bytes_from_source_skipped_by_sync
912
+
913
+ # Objects that are copied to the data sink.
914
+ # Corresponds to the JSON property `objectsCopiedToSink`
915
+ # @return [String]
916
+ attr_accessor :objects_copied_to_sink
917
+
918
+ # Bytes that are copied to the data sink.
919
+ # Corresponds to the JSON property `bytesCopiedToSink`
920
+ # @return [String]
921
+ attr_accessor :bytes_copied_to_sink
922
+
923
+ # Objects that are deleted from the data source.
924
+ # Corresponds to the JSON property `objectsDeletedFromSource`
925
+ # @return [String]
926
+ attr_accessor :objects_deleted_from_source
927
+
928
+ # Bytes that are deleted from the data source.
929
+ # Corresponds to the JSON property `bytesDeletedFromSource`
930
+ # @return [String]
931
+ attr_accessor :bytes_deleted_from_source
932
+
933
+ # Objects that are deleted from the data sink.
934
+ # Corresponds to the JSON property `objectsDeletedFromSink`
935
+ # @return [String]
936
+ attr_accessor :objects_deleted_from_sink
937
+
938
+ # Bytes that are deleted from the data sink.
939
+ # Corresponds to the JSON property `bytesDeletedFromSink`
940
+ # @return [String]
941
+ attr_accessor :bytes_deleted_from_sink
942
+
943
+ # Objects in the data source that failed during the transfer.
944
+ # Corresponds to the JSON property `objectsFromSourceFailed`
945
+ # @return [String]
946
+ attr_accessor :objects_from_source_failed
947
+
948
+ # Bytes in the data source that failed during the transfer.
949
+ # Corresponds to the JSON property `bytesFromSourceFailed`
950
+ # @return [String]
951
+ attr_accessor :bytes_from_source_failed
952
+
953
+ # Objects that failed to be deleted from the data sink.
954
+ # Corresponds to the JSON property `objectsFailedToDeleteFromSink`
955
+ # @return [String]
956
+ attr_accessor :objects_failed_to_delete_from_sink
957
+
958
+ # Bytes that failed to be deleted from the data sink.
959
+ # Corresponds to the JSON property `bytesFailedToDeleteFromSink`
960
+ # @return [String]
961
+ attr_accessor :bytes_failed_to_delete_from_sink
962
+
963
+ def initialize(**args)
964
+ update!(**args)
965
+ end
966
+
967
+ # Update properties of this object
968
+ def update!(**args)
969
+ @objects_found_from_source = args[:objects_found_from_source] unless args[:objects_found_from_source].nil?
970
+ @bytes_found_from_source = args[:bytes_found_from_source] unless args[:bytes_found_from_source].nil?
971
+ @objects_found_only_from_sink = args[:objects_found_only_from_sink] unless args[:objects_found_only_from_sink].nil?
972
+ @bytes_found_only_from_sink = args[:bytes_found_only_from_sink] unless args[:bytes_found_only_from_sink].nil?
973
+ @objects_from_source_skipped_by_sync = args[:objects_from_source_skipped_by_sync] unless args[:objects_from_source_skipped_by_sync].nil?
974
+ @bytes_from_source_skipped_by_sync = args[:bytes_from_source_skipped_by_sync] unless args[:bytes_from_source_skipped_by_sync].nil?
975
+ @objects_copied_to_sink = args[:objects_copied_to_sink] unless args[:objects_copied_to_sink].nil?
976
+ @bytes_copied_to_sink = args[:bytes_copied_to_sink] unless args[:bytes_copied_to_sink].nil?
977
+ @objects_deleted_from_source = args[:objects_deleted_from_source] unless args[:objects_deleted_from_source].nil?
978
+ @bytes_deleted_from_source = args[:bytes_deleted_from_source] unless args[:bytes_deleted_from_source].nil?
979
+ @objects_deleted_from_sink = args[:objects_deleted_from_sink] unless args[:objects_deleted_from_sink].nil?
980
+ @bytes_deleted_from_sink = args[:bytes_deleted_from_sink] unless args[:bytes_deleted_from_sink].nil?
981
+ @objects_from_source_failed = args[:objects_from_source_failed] unless args[:objects_from_source_failed].nil?
982
+ @bytes_from_source_failed = args[:bytes_from_source_failed] unless args[:bytes_from_source_failed].nil?
983
+ @objects_failed_to_delete_from_sink = args[:objects_failed_to_delete_from_sink] unless args[:objects_failed_to_delete_from_sink].nil?
984
+ @bytes_failed_to_delete_from_sink = args[:bytes_failed_to_delete_from_sink] unless args[:bytes_failed_to_delete_from_sink].nil?
985
+ end
986
+ end
987
+
988
+ # A summary of errors by error code, plus a count and sample error log entries.
989
+ class ErrorSummary
990
+ include Google::Apis::Core::Hashable
991
+
992
+ # Required.
993
+ # Corresponds to the JSON property `errorCode`
994
+ # @return [String]
995
+ attr_accessor :error_code
996
+
997
+ # Count of this type of error. Required.
998
+ # Corresponds to the JSON property `errorCount`
999
+ # @return [String]
1000
+ attr_accessor :error_count
1001
+
1002
+ # Error samples.
1003
+ # Corresponds to the JSON property `errorLogEntries`
1004
+ # @return [Array<Google::Apis::StoragetransferV1::ErrorLogEntry>]
1005
+ attr_accessor :error_log_entries
1006
+
1007
+ def initialize(**args)
1008
+ update!(**args)
1009
+ end
1010
+
1011
+ # Update properties of this object
1012
+ def update!(**args)
1013
+ @error_code = args[:error_code] unless args[:error_code].nil?
1014
+ @error_count = args[:error_count] unless args[:error_count].nil?
1015
+ @error_log_entries = args[:error_log_entries] unless args[:error_log_entries].nil?
1016
+ end
1017
+ end
1018
+
1019
+ # An entry describing an error that has occurred.
1020
+ class ErrorLogEntry
1021
+ include Google::Apis::Core::Hashable
1022
+
1023
+ # A URL that refers to the target (a data source, a data sink, or an object)
1024
+ # with which the error is associated. Required.
1025
+ # Corresponds to the JSON property `url`
1026
+ # @return [String]
1027
+ attr_accessor :url
1028
+
1029
+ # A list of messages that carry the error details.
1030
+ # Corresponds to the JSON property `errorDetails`
1031
+ # @return [Array<String>]
1032
+ attr_accessor :error_details
1033
+
1034
+ def initialize(**args)
1035
+ update!(**args)
1036
+ end
1037
+
1038
+ # Update properties of this object
1039
+ def update!(**args)
1040
+ @url = args[:url] unless args[:url].nil?
1041
+ @error_details = args[:error_details] unless args[:error_details].nil?
1042
+ end
1043
+ end
1044
+ end
1045
+ end
1046
+ end