google-api-client 0.10.2 → 0.10.3

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 (248) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/MIGRATING.md +22 -7
  4. data/README.md +4 -8
  5. data/api_names.yaml +1210 -37815
  6. data/generated/google/apis/acceleratedmobilepageurl_v1.rb +32 -0
  7. data/generated/google/apis/acceleratedmobilepageurl_v1/classes.rb +144 -0
  8. data/generated/google/apis/acceleratedmobilepageurl_v1/representations.rb +86 -0
  9. data/generated/google/apis/acceleratedmobilepageurl_v1/service.rb +90 -0
  10. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  11. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +764 -764
  12. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +180 -180
  13. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +421 -421
  14. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +1 -0
  15. data/generated/google/apis/admin_directory_v1/classes.rb +1 -0
  16. data/generated/google/apis/admin_reports_v1.rb +1 -1
  17. data/generated/google/apis/adsense_v1_4.rb +1 -1
  18. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  19. data/generated/google/apis/analyticsreporting_v4/classes.rb +187 -187
  20. data/generated/google/apis/analyticsreporting_v4/representations.rb +42 -42
  21. data/generated/google/apis/appengine_v1.rb +40 -0
  22. data/generated/google/apis/appengine_v1/classes.rb +2251 -0
  23. data/generated/google/apis/appengine_v1/representations.rb +858 -0
  24. data/generated/google/apis/appengine_v1/service.rb +894 -0
  25. data/generated/google/apis/bigquery_v2.rb +1 -1
  26. data/generated/google/apis/bigquery_v2/classes.rb +11 -6
  27. data/generated/google/apis/books_v1.rb +1 -1
  28. data/generated/google/apis/books_v1/classes.rb +26 -0
  29. data/generated/google/apis/books_v1/representations.rb +15 -0
  30. data/generated/google/apis/books_v1/service.rb +4 -1
  31. data/generated/google/apis/calendar_v3.rb +1 -1
  32. data/generated/google/apis/classroom_v1.rb +1 -1
  33. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  34. data/generated/google/apis/cloudbuild_v1/classes.rb +638 -637
  35. data/generated/google/apis/cloudbuild_v1/representations.rb +110 -110
  36. data/generated/google/apis/cloudbuild_v1/service.rb +139 -139
  37. data/generated/google/apis/clouddebugger_v2.rb +3 -3
  38. data/generated/google/apis/clouddebugger_v2/classes.rb +131 -131
  39. data/generated/google/apis/clouddebugger_v2/representations.rb +25 -25
  40. data/generated/google/apis/clouderrorreporting_v1beta1.rb +36 -0
  41. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +590 -0
  42. data/generated/google/apis/clouderrorreporting_v1beta1/representations.rb +252 -0
  43. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +350 -0
  44. data/generated/google/apis/cloudfunctions_v1.rb +35 -0
  45. data/generated/google/apis/cloudfunctions_v1/classes.rb +98 -0
  46. data/generated/google/apis/cloudfunctions_v1/representations.rb +57 -0
  47. data/generated/google/apis/cloudfunctions_v1/service.rb +89 -0
  48. data/generated/google/apis/cloudkms_v1/classes.rb +277 -270
  49. data/generated/google/apis/cloudkms_v1/representations.rb +73 -73
  50. data/generated/google/apis/cloudkms_v1/service.rb +194 -194
  51. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  52. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +1147 -1144
  53. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +188 -188
  54. data/generated/google/apis/cloudresourcemanager_v1/service.rb +513 -936
  55. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  56. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +307 -916
  57. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +63 -285
  58. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +333 -681
  59. data/generated/google/apis/cloudtrace_v1/classes.rb +38 -38
  60. data/generated/google/apis/cloudtrace_v1/representations.rb +13 -13
  61. data/generated/google/apis/cloudtrace_v1/service.rb +16 -16
  62. data/generated/google/apis/compute_beta.rb +1 -1
  63. data/generated/google/apis/compute_beta/classes.rb +32 -7
  64. data/generated/google/apis/compute_beta/representations.rb +2 -0
  65. data/generated/google/apis/compute_beta/service.rb +11 -11
  66. data/generated/google/apis/compute_v1.rb +1 -1
  67. data/generated/google/apis/compute_v1/classes.rb +95 -2
  68. data/generated/google/apis/compute_v1/representations.rb +33 -0
  69. data/generated/google/apis/dataflow_v1b3/classes.rb +3333 -3333
  70. data/generated/google/apis/dataflow_v1b3/representations.rb +759 -759
  71. data/generated/google/apis/dataflow_v1b3/service.rb +154 -154
  72. data/generated/google/apis/dataproc_v1.rb +1 -1
  73. data/generated/google/apis/dataproc_v1/classes.rb +1097 -1097
  74. data/generated/google/apis/dataproc_v1/representations.rb +200 -200
  75. data/generated/google/apis/dataproc_v1/service.rb +356 -356
  76. data/generated/google/apis/datastore_v1.rb +4 -4
  77. data/generated/google/apis/datastore_v1/classes.rb +701 -690
  78. data/generated/google/apis/datastore_v1/representations.rb +160 -160
  79. data/generated/google/apis/datastore_v1/service.rb +52 -52
  80. data/generated/google/apis/deploymentmanager_v2/classes.rb +4 -0
  81. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  82. data/generated/google/apis/drive_v2.rb +1 -1
  83. data/generated/google/apis/drive_v2/classes.rb +158 -35
  84. data/generated/google/apis/drive_v2/representations.rb +39 -0
  85. data/generated/google/apis/drive_v2/service.rb +4 -4
  86. data/generated/google/apis/drive_v3.rb +1 -1
  87. data/generated/google/apis/drive_v3/classes.rb +162 -33
  88. data/generated/google/apis/drive_v3/representations.rb +39 -0
  89. data/generated/google/apis/drive_v3/service.rb +4 -4
  90. data/generated/google/apis/firebasedynamiclinks_v1.rb +35 -0
  91. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +466 -0
  92. data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +222 -0
  93. data/generated/google/apis/firebasedynamiclinks_v1/service.rb +95 -0
  94. data/generated/google/apis/firebaserules_v1.rb +41 -0
  95. data/generated/google/apis/firebaserules_v1/classes.rb +425 -0
  96. data/generated/google/apis/firebaserules_v1/representations.rb +222 -0
  97. data/generated/google/apis/firebaserules_v1/service.rb +495 -0
  98. data/generated/google/apis/games_v1/classes.rb +4 -0
  99. data/generated/google/apis/genomics_v1.rb +7 -7
  100. data/generated/google/apis/genomics_v1/classes.rb +2336 -2335
  101. data/generated/google/apis/genomics_v1/representations.rb +387 -387
  102. data/generated/google/apis/genomics_v1/service.rb +1187 -1187
  103. data/generated/google/apis/gmail_v1/classes.rb +3 -0
  104. data/generated/google/apis/iam_v1.rb +1 -1
  105. data/generated/google/apis/iam_v1/classes.rb +123 -117
  106. data/generated/google/apis/iam_v1/representations.rb +33 -33
  107. data/generated/google/apis/iam_v1/service.rb +109 -109
  108. data/generated/google/apis/identitytoolkit_v3/classes.rb +5 -0
  109. data/generated/google/apis/kgsearch_v1/classes.rb +6 -6
  110. data/generated/google/apis/kgsearch_v1/representations.rb +1 -1
  111. data/generated/google/apis/kgsearch_v1/service.rb +4 -4
  112. data/generated/google/apis/language_v1.rb +36 -0
  113. data/generated/google/apis/language_v1/classes.rb +757 -0
  114. data/generated/google/apis/language_v1/representations.rb +338 -0
  115. data/generated/google/apis/language_v1/service.rb +185 -0
  116. data/generated/google/apis/language_v1beta1/classes.rb +407 -407
  117. data/generated/google/apis/language_v1beta1/representations.rb +103 -103
  118. data/generated/google/apis/language_v1beta1/service.rb +45 -45
  119. data/generated/google/apis/logging_v2.rb +46 -0
  120. data/generated/google/apis/logging_v2/classes.rb +1271 -0
  121. data/generated/google/apis/logging_v2/representations.rb +421 -0
  122. data/generated/google/apis/logging_v2/service.rb +1569 -0
  123. data/generated/google/apis/logging_v2beta1.rb +1 -1
  124. data/generated/google/apis/logging_v2beta1/classes.rb +886 -886
  125. data/generated/google/apis/logging_v2beta1/representations.rb +132 -132
  126. data/generated/google/apis/logging_v2beta1/service.rb +235 -235
  127. data/generated/google/apis/manufacturers_v1/classes.rb +147 -147
  128. data/generated/google/apis/manufacturers_v1/representations.rb +29 -29
  129. data/generated/google/apis/ml_v1.rb +34 -0
  130. data/generated/google/apis/ml_v1/classes.rb +1617 -0
  131. data/generated/google/apis/ml_v1/representations.rb +498 -0
  132. data/generated/google/apis/ml_v1/service.rb +769 -0
  133. data/generated/google/apis/monitoring_v3.rb +4 -4
  134. data/generated/google/apis/monitoring_v3/classes.rb +630 -630
  135. data/generated/google/apis/monitoring_v3/representations.rb +134 -134
  136. data/generated/google/apis/monitoring_v3/service.rb +240 -240
  137. data/generated/google/apis/pagespeedonline_v2/classes.rb +1 -0
  138. data/generated/google/apis/partners_v2.rb +1 -1
  139. data/generated/google/apis/partners_v2/classes.rb +639 -639
  140. data/generated/google/apis/partners_v2/representations.rb +168 -168
  141. data/generated/google/apis/partners_v2/service.rb +381 -381
  142. data/generated/google/apis/people_v1.rb +10 -10
  143. data/generated/google/apis/people_v1/classes.rb +524 -524
  144. data/generated/google/apis/people_v1/representations.rb +143 -143
  145. data/generated/google/apis/people_v1/service.rb +30 -30
  146. data/generated/google/apis/plus_domains_v1.rb +1 -1
  147. data/generated/google/apis/plus_v1.rb +1 -1
  148. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +454 -444
  149. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +90 -90
  150. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +110 -110
  151. data/generated/google/apis/pubsub_v1/classes.rb +175 -173
  152. data/generated/google/apis/pubsub_v1/representations.rb +53 -53
  153. data/generated/google/apis/pubsub_v1/service.rb +210 -210
  154. data/generated/google/apis/replicapool_v1beta2/classes.rb +2 -0
  155. data/generated/google/apis/runtimeconfig_v1.rb +38 -0
  156. data/generated/google/apis/runtimeconfig_v1/classes.rb +252 -0
  157. data/generated/google/apis/runtimeconfig_v1/representations.rb +98 -0
  158. data/generated/google/apis/runtimeconfig_v1/service.rb +176 -0
  159. data/generated/google/apis/script_v1.rb +1 -1
  160. data/generated/google/apis/script_v1/classes.rb +6 -6
  161. data/generated/google/apis/script_v1/representations.rb +1 -1
  162. data/generated/google/apis/searchconsole_v1.rb +31 -0
  163. data/generated/google/apis/searchconsole_v1/classes.rb +205 -0
  164. data/generated/google/apis/searchconsole_v1/representations.rb +129 -0
  165. data/generated/google/apis/searchconsole_v1/service.rb +88 -0
  166. data/generated/google/apis/servicecontrol_v1.rb +38 -0
  167. data/generated/google/apis/servicecontrol_v1/classes.rb +1675 -0
  168. data/generated/google/apis/servicecontrol_v1/representations.rb +601 -0
  169. data/generated/google/apis/servicecontrol_v1/service.rb +337 -0
  170. data/generated/google/apis/servicemanagement_v1.rb +45 -0
  171. data/generated/google/apis/servicemanagement_v1/classes.rb +4934 -0
  172. data/generated/google/apis/servicemanagement_v1/representations.rb +1526 -0
  173. data/generated/google/apis/servicemanagement_v1/service.rb +860 -0
  174. data/generated/google/apis/serviceuser_v1.rb +42 -0
  175. data/generated/google/apis/serviceuser_v1/classes.rb +3746 -0
  176. data/generated/google/apis/serviceuser_v1/representations.rb +1041 -0
  177. data/generated/google/apis/serviceuser_v1/service.rb +214 -0
  178. data/generated/google/apis/sheets_v4.rb +3 -3
  179. data/generated/google/apis/sheets_v4/classes.rb +4390 -4390
  180. data/generated/google/apis/sheets_v4/representations.rb +381 -381
  181. data/generated/google/apis/sheets_v4/service.rb +48 -48
  182. data/generated/google/apis/slides_v1.rb +3 -3
  183. data/generated/google/apis/slides_v1/classes.rb +2860 -2860
  184. data/generated/google/apis/slides_v1/representations.rb +693 -693
  185. data/generated/google/apis/slides_v1/service.rb +30 -30
  186. data/generated/google/apis/sourcerepo_v1.rb +34 -0
  187. data/generated/google/apis/sourcerepo_v1/classes.rb +687 -0
  188. data/generated/google/apis/sourcerepo_v1/representations.rb +285 -0
  189. data/generated/google/apis/sourcerepo_v1/service.rb +291 -0
  190. data/generated/google/apis/spanner_v1.rb +35 -0
  191. data/generated/google/apis/spanner_v1/classes.rb +3294 -0
  192. data/generated/google/apis/spanner_v1/representations.rb +984 -0
  193. data/generated/google/apis/spanner_v1/service.rb +1504 -0
  194. data/generated/google/apis/speech_v1beta1.rb +1 -1
  195. data/generated/google/apis/speech_v1beta1/classes.rb +197 -196
  196. data/generated/google/apis/speech_v1beta1/representations.rb +53 -53
  197. data/generated/google/apis/speech_v1beta1/service.rb +27 -27
  198. data/generated/google/apis/storage_v1.rb +1 -1
  199. data/generated/google/apis/storage_v1/classes.rb +131 -0
  200. data/generated/google/apis/storage_v1/representations.rb +51 -0
  201. data/generated/google/apis/storage_v1/service.rb +182 -0
  202. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  203. data/generated/google/apis/storagetransfer_v1/classes.rb +732 -661
  204. data/generated/google/apis/storagetransfer_v1/representations.rb +132 -132
  205. data/generated/google/apis/storagetransfer_v1/service.rb +174 -197
  206. data/generated/google/apis/surveys_v2.rb +40 -0
  207. data/generated/google/apis/surveys_v2/classes.rb +806 -0
  208. data/generated/google/apis/surveys_v2/representations.rb +347 -0
  209. data/generated/google/apis/surveys_v2/service.rb +477 -0
  210. data/generated/google/apis/tagmanager_v2.rb +52 -0
  211. data/generated/google/apis/tagmanager_v2/classes.rb +2435 -0
  212. data/generated/google/apis/tagmanager_v2/representations.rb +993 -0
  213. data/generated/google/apis/tagmanager_v2/service.rb +2865 -0
  214. data/generated/google/apis/toolresults_v1beta3.rb +34 -0
  215. data/generated/google/apis/toolresults_v1beta3/classes.rb +2160 -0
  216. data/generated/google/apis/toolresults_v1beta3/representations.rb +729 -0
  217. data/generated/google/apis/toolresults_v1beta3/service.rb +1236 -0
  218. data/generated/google/apis/tracing_v1.rb +40 -0
  219. data/generated/google/apis/tracing_v1/classes.rb +664 -0
  220. data/generated/google/apis/tracing_v1/representations.rb +279 -0
  221. data/generated/google/apis/tracing_v1/service.rb +225 -0
  222. data/generated/google/apis/vision_v1.rb +1 -1
  223. data/generated/google/apis/vision_v1/classes.rb +1223 -1222
  224. data/generated/google/apis/vision_v1/representations.rb +234 -234
  225. data/generated/google/apis/vision_v1/service.rb +10 -10
  226. data/generated/google/apis/webfonts_v1.rb +33 -0
  227. data/generated/google/apis/webfonts_v1/classes.rb +113 -0
  228. data/generated/google/apis/webfonts_v1/representations.rb +62 -0
  229. data/generated/google/apis/webfonts_v1/service.rb +102 -0
  230. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  231. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  232. data/generated/google/apis/youtube_partner_v1/classes.rb +31 -0
  233. data/generated/google/apis/youtube_partner_v1/representations.rb +6 -0
  234. data/generated/google/apis/youtube_partner_v1/service.rb +41 -0
  235. data/generated/google/apis/youtube_v3/classes.rb +1 -0
  236. data/generated/google/apis/youtubereporting_v1.rb +4 -4
  237. data/generated/google/apis/youtubereporting_v1/classes.rb +76 -76
  238. data/generated/google/apis/youtubereporting_v1/representations.rb +25 -25
  239. data/generated/google/apis/youtubereporting_v1/service.rb +95 -95
  240. data/lib/google/apis/generator/annotator.rb +5 -4
  241. data/lib/google/apis/generator/templates/_class.tmpl +3 -0
  242. data/lib/google/apis/version.rb +1 -1
  243. data/samples/cli/lib/samples/adsense.rb +99 -0
  244. data/samples/cli/lib/samples/analytics.rb +18 -0
  245. data/samples/cli/lib/samples/gmail.rb +33 -0
  246. data/samples/cli/lib/samples/vision.rb +69 -0
  247. metadata +89 -4
  248. data/sync.rb +0 -71
@@ -130,6 +130,18 @@ module Google
130
130
  include Google::Apis::Core::JsonObjectSupport
131
131
  end
132
132
 
133
+ class Notification
134
+ class Representation < Google::Apis::Core::JsonRepresentation; end
135
+
136
+ include Google::Apis::Core::JsonObjectSupport
137
+ end
138
+
139
+ class Notifications
140
+ class Representation < Google::Apis::Core::JsonRepresentation; end
141
+
142
+ include Google::Apis::Core::JsonObjectSupport
143
+ end
144
+
133
145
  class Object
134
146
  class Representation < Google::Apis::Core::JsonRepresentation; end
135
147
 
@@ -190,6 +202,12 @@ module Google
190
202
  include Google::Apis::Core::JsonObjectSupport
191
203
  end
192
204
 
205
+ class ServiceAccount
206
+ class Representation < Google::Apis::Core::JsonRepresentation; end
207
+
208
+ include Google::Apis::Core::JsonObjectSupport
209
+ end
210
+
193
211
  class TestIamPermissionsResponse
194
212
  class Representation < Google::Apis::Core::JsonRepresentation; end
195
213
 
@@ -208,6 +226,7 @@ module Google
208
226
  property :etag, as: 'etag'
209
227
  property :id, as: 'id'
210
228
  property :kind, as: 'kind'
229
+ hash :labels, as: 'labels'
211
230
  property :lifecycle, as: 'lifecycle', class: Google::Apis::StorageV1::Bucket::Lifecycle, decorator: Google::Apis::StorageV1::Bucket::Lifecycle::Representation
212
231
 
213
232
  property :location, as: 'location'
@@ -399,6 +418,30 @@ module Google
399
418
  end
400
419
  end
401
420
 
421
+ class Notification
422
+ # @private
423
+ class Representation < Google::Apis::Core::JsonRepresentation
424
+ hash :custom_attributes, as: 'custom_attributes'
425
+ property :etag, as: 'etag'
426
+ collection :event_types, as: 'event_types'
427
+ property :id, as: 'id'
428
+ property :kind, as: 'kind'
429
+ property :object_name_prefix, as: 'object_name_prefix'
430
+ property :payload_format, as: 'payload_format'
431
+ property :self_link, as: 'selfLink'
432
+ property :topic, as: 'topic'
433
+ end
434
+ end
435
+
436
+ class Notifications
437
+ # @private
438
+ class Representation < Google::Apis::Core::JsonRepresentation
439
+ collection :items, as: 'items', class: Google::Apis::StorageV1::Notification, decorator: Google::Apis::StorageV1::Notification::Representation
440
+
441
+ property :kind, as: 'kind'
442
+ end
443
+ end
444
+
402
445
  class Object
403
446
  # @private
404
447
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -535,6 +578,14 @@ module Google
535
578
  end
536
579
  end
537
580
 
581
+ class ServiceAccount
582
+ # @private
583
+ class Representation < Google::Apis::Core::JsonRepresentation
584
+ property :email_address, as: 'email_address'
585
+ property :kind, as: 'kind'
586
+ end
587
+ end
588
+
538
589
  class TestIamPermissionsResponse
539
590
  # @private
540
591
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -972,6 +972,153 @@ module Google
972
972
  execute_or_queue_command(command, &block)
973
973
  end
974
974
 
975
+ # Permanently deletes a notification subscription.
976
+ # @param [String] bucket
977
+ # The parent bucket of the notification.
978
+ # @param [String] notification
979
+ # ID of the notification to delete.
980
+ # @param [String] fields
981
+ # Selector specifying which fields to include in a partial response.
982
+ # @param [String] quota_user
983
+ # Available to use for quota purposes for server-side applications. Can be any
984
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
985
+ # Overrides userIp if both are provided.
986
+ # @param [String] user_ip
987
+ # IP address of the site where the request originates. Use this if you want to
988
+ # enforce per-user limits.
989
+ # @param [Google::Apis::RequestOptions] options
990
+ # Request-specific options
991
+ #
992
+ # @yield [result, err] Result & error if block supplied
993
+ # @yieldparam result [NilClass] No result returned for this method
994
+ # @yieldparam err [StandardError] error object if request failed
995
+ #
996
+ # @return [void]
997
+ #
998
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
999
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1000
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1001
+ def delete_notification(bucket, notification, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
1002
+ command = make_simple_command(:delete, 'b/{bucket}/notificationConfigs/{notification}', options)
1003
+ command.params['bucket'] = bucket unless bucket.nil?
1004
+ command.params['notification'] = notification unless notification.nil?
1005
+ command.query['fields'] = fields unless fields.nil?
1006
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1007
+ command.query['userIp'] = user_ip unless user_ip.nil?
1008
+ execute_or_queue_command(command, &block)
1009
+ end
1010
+
1011
+ # View a notification configuration.
1012
+ # @param [String] bucket
1013
+ # The parent bucket of the notification.
1014
+ # @param [String] notification
1015
+ # Notification ID
1016
+ # @param [String] fields
1017
+ # Selector specifying which fields to include in a partial response.
1018
+ # @param [String] quota_user
1019
+ # Available to use for quota purposes for server-side applications. Can be any
1020
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1021
+ # Overrides userIp if both are provided.
1022
+ # @param [String] user_ip
1023
+ # IP address of the site where the request originates. Use this if you want to
1024
+ # enforce per-user limits.
1025
+ # @param [Google::Apis::RequestOptions] options
1026
+ # Request-specific options
1027
+ #
1028
+ # @yield [result, err] Result & error if block supplied
1029
+ # @yieldparam result [Google::Apis::StorageV1::Notification] parsed result object
1030
+ # @yieldparam err [StandardError] error object if request failed
1031
+ #
1032
+ # @return [Google::Apis::StorageV1::Notification]
1033
+ #
1034
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1035
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1036
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1037
+ def get_notification(bucket, notification, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
1038
+ command = make_simple_command(:get, 'b/{bucket}/notificationConfigs/{notification}', options)
1039
+ command.response_representation = Google::Apis::StorageV1::Notification::Representation
1040
+ command.response_class = Google::Apis::StorageV1::Notification
1041
+ command.params['bucket'] = bucket unless bucket.nil?
1042
+ command.params['notification'] = notification unless notification.nil?
1043
+ command.query['fields'] = fields unless fields.nil?
1044
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1045
+ command.query['userIp'] = user_ip unless user_ip.nil?
1046
+ execute_or_queue_command(command, &block)
1047
+ end
1048
+
1049
+ # Creates a notification subscription for a given bucket.
1050
+ # @param [String] bucket
1051
+ # The parent bucket of the notification.
1052
+ # @param [Google::Apis::StorageV1::Notification] notification_object
1053
+ # @param [String] fields
1054
+ # Selector specifying which fields to include in a partial response.
1055
+ # @param [String] quota_user
1056
+ # Available to use for quota purposes for server-side applications. Can be any
1057
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1058
+ # Overrides userIp if both are provided.
1059
+ # @param [String] user_ip
1060
+ # IP address of the site where the request originates. Use this if you want to
1061
+ # enforce per-user limits.
1062
+ # @param [Google::Apis::RequestOptions] options
1063
+ # Request-specific options
1064
+ #
1065
+ # @yield [result, err] Result & error if block supplied
1066
+ # @yieldparam result [Google::Apis::StorageV1::Notification] parsed result object
1067
+ # @yieldparam err [StandardError] error object if request failed
1068
+ #
1069
+ # @return [Google::Apis::StorageV1::Notification]
1070
+ #
1071
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1072
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1073
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1074
+ def insert_notification(bucket, notification_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
1075
+ command = make_simple_command(:post, 'b/{bucket}/notificationConfigs', options)
1076
+ command.request_representation = Google::Apis::StorageV1::Notification::Representation
1077
+ command.request_object = notification_object
1078
+ command.response_representation = Google::Apis::StorageV1::Notification::Representation
1079
+ command.response_class = Google::Apis::StorageV1::Notification
1080
+ command.params['bucket'] = bucket unless bucket.nil?
1081
+ command.query['fields'] = fields unless fields.nil?
1082
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1083
+ command.query['userIp'] = user_ip unless user_ip.nil?
1084
+ execute_or_queue_command(command, &block)
1085
+ end
1086
+
1087
+ # Retrieves a list of notification subscriptions for a given bucket.
1088
+ # @param [String] bucket
1089
+ # Name of a GCS bucket.
1090
+ # @param [String] fields
1091
+ # Selector specifying which fields to include in a partial response.
1092
+ # @param [String] quota_user
1093
+ # Available to use for quota purposes for server-side applications. Can be any
1094
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1095
+ # Overrides userIp if both are provided.
1096
+ # @param [String] user_ip
1097
+ # IP address of the site where the request originates. Use this if you want to
1098
+ # enforce per-user limits.
1099
+ # @param [Google::Apis::RequestOptions] options
1100
+ # Request-specific options
1101
+ #
1102
+ # @yield [result, err] Result & error if block supplied
1103
+ # @yieldparam result [Google::Apis::StorageV1::Notifications] parsed result object
1104
+ # @yieldparam err [StandardError] error object if request failed
1105
+ #
1106
+ # @return [Google::Apis::StorageV1::Notifications]
1107
+ #
1108
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1109
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1110
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1111
+ def list_notifications(bucket, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
1112
+ command = make_simple_command(:get, 'b/{bucket}/notificationConfigs', options)
1113
+ command.response_representation = Google::Apis::StorageV1::Notifications::Representation
1114
+ command.response_class = Google::Apis::StorageV1::Notifications
1115
+ command.params['bucket'] = bucket unless bucket.nil?
1116
+ command.query['fields'] = fields unless fields.nil?
1117
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1118
+ command.query['userIp'] = user_ip unless user_ip.nil?
1119
+ execute_or_queue_command(command, &block)
1120
+ end
1121
+
975
1122
  # Permanently deletes the ACL entry for the specified entity on the specified
976
1123
  # object.
977
1124
  # @param [String] bucket
@@ -2143,6 +2290,41 @@ module Google
2143
2290
  command.query['userIp'] = user_ip unless user_ip.nil?
2144
2291
  execute_or_queue_command(command, &block)
2145
2292
  end
2293
+
2294
+ # Get the email address of this project's GCS service account.
2295
+ # @param [String] project_id
2296
+ # Project ID
2297
+ # @param [String] fields
2298
+ # Selector specifying which fields to include in a partial response.
2299
+ # @param [String] quota_user
2300
+ # Available to use for quota purposes for server-side applications. Can be any
2301
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2302
+ # Overrides userIp if both are provided.
2303
+ # @param [String] user_ip
2304
+ # IP address of the site where the request originates. Use this if you want to
2305
+ # enforce per-user limits.
2306
+ # @param [Google::Apis::RequestOptions] options
2307
+ # Request-specific options
2308
+ #
2309
+ # @yield [result, err] Result & error if block supplied
2310
+ # @yieldparam result [Google::Apis::StorageV1::ServiceAccount] parsed result object
2311
+ # @yieldparam err [StandardError] error object if request failed
2312
+ #
2313
+ # @return [Google::Apis::StorageV1::ServiceAccount]
2314
+ #
2315
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2316
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2317
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2318
+ def get_project_service_account(project_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
2319
+ command = make_simple_command(:get, 'projects/{projectId}/serviceAccount', options)
2320
+ command.response_representation = Google::Apis::StorageV1::ServiceAccount::Representation
2321
+ command.response_class = Google::Apis::StorageV1::ServiceAccount
2322
+ command.params['projectId'] = project_id unless project_id.nil?
2323
+ command.query['fields'] = fields unless fields.nil?
2324
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2325
+ command.query['userIp'] = user_ip unless user_ip.nil?
2326
+ execute_or_queue_command(command, &block)
2327
+ end
2146
2328
 
2147
2329
  protected
2148
2330
 
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/storage/transfer
27
27
  module StoragetransferV1
28
28
  VERSION = 'V1'
29
- REVISION = '20150811'
29
+ REVISION = '20170327'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -22,14 +22,21 @@ module Google
22
22
  module Apis
23
23
  module StoragetransferV1
24
24
 
25
- # Google service account
26
- class GoogleServiceAccount
25
+ # An entry describing an error that has occurred.
26
+ class ErrorLogEntry
27
27
  include Google::Apis::Core::Hashable
28
28
 
29
+ # A URL that refers to the target (a data source, a data sink,
30
+ # or an object) with which the error is associated.
29
31
  # Required.
30
- # Corresponds to the JSON property `accountEmail`
32
+ # Corresponds to the JSON property `url`
31
33
  # @return [String]
32
- attr_accessor :account_email
34
+ attr_accessor :url
35
+
36
+ # A list of messages that carry the error details.
37
+ # Corresponds to the JSON property `errorDetails`
38
+ # @return [Array<String>]
39
+ attr_accessor :error_details
33
40
 
34
41
  def initialize(**args)
35
42
  update!(**args)
@@ -37,7 +44,8 @@ module Google
37
44
 
38
45
  # Update properties of this object
39
46
  def update!(**args)
40
- @account_email = args[:account_email] if args.key?(:account_email)
47
+ @url = args[:url] if args.key?(:url)
48
+ @error_details = args[:error_details] if args.key?(:error_details)
41
49
  end
42
50
  end
43
51
 
@@ -46,57 +54,60 @@ module Google
46
54
  class TransferJob
47
55
  include Google::Apis::Core::Hashable
48
56
 
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`
57
+ # Status of the job. This value MUST be specified for
58
+ # `CreateTransferJobRequests`.
59
+ # NOTE: The effect of the new job status takes place during a subsequent job
60
+ # run. For example, if you change the job status from `ENABLED` to
61
+ # `DISABLED`, and an operation spawned by the transfer is running, the status
62
+ # change would not affect the current operation.
63
+ # Corresponds to the JSON property `status`
64
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
65
+ attr_accessor :status
71
66
 
72
67
  # Transfers can be scheduled to recur or to run just once.
73
68
  # Corresponds to the JSON property `schedule`
74
69
  # @return [Google::Apis::StoragetransferV1::Schedule]
75
70
  attr_accessor :schedule
76
71
 
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`
72
+ # A globally unique name assigned by Storage Transfer Service when the
73
+ # job is created. This field should be left empty in requests to create a new
74
+ # transfer job; otherwise, the requests result in an `INVALID_ARGUMENT`
75
+ # error.
76
+ # Corresponds to the JSON property `name`
83
77
  # @return [String]
84
- attr_accessor :status
78
+ attr_accessor :name
85
79
 
86
80
  # This field cannot be changed by user requests.
87
- # Corresponds to the JSON property `creationTime`
81
+ # Corresponds to the JSON property `deletionTime`
88
82
  # @return [String]
89
- attr_accessor :creation_time
83
+ attr_accessor :deletion_time
84
+
85
+ # The ID of the Google Cloud Platform Console project that owns the job.
86
+ # Required.
87
+ # Corresponds to the JSON property `projectId`
88
+ # @return [String]
89
+ attr_accessor :project_id
90
90
 
91
91
  # This field cannot be changed by user requests.
92
92
  # Corresponds to the JSON property `lastModificationTime`
93
93
  # @return [String]
94
94
  attr_accessor :last_modification_time
95
95
 
96
+ # A description provided by the user for the job. Its max length is 1024
97
+ # bytes when Unicode-encoded.
98
+ # Corresponds to the JSON property `description`
99
+ # @return [String]
100
+ attr_accessor :description
101
+
96
102
  # This field cannot be changed by user requests.
97
- # Corresponds to the JSON property `deletionTime`
103
+ # Corresponds to the JSON property `creationTime`
98
104
  # @return [String]
99
- attr_accessor :deletion_time
105
+ attr_accessor :creation_time
106
+
107
+ # Configuration for running a transfer.
108
+ # Corresponds to the JSON property `transferSpec`
109
+ # @return [Google::Apis::StoragetransferV1::TransferSpec]
110
+ attr_accessor :transfer_spec
100
111
 
101
112
  def initialize(**args)
102
113
  update!(**args)
@@ -104,74 +115,89 @@ module Google
104
115
 
105
116
  # Update properties of this object
106
117
  def update!(**args)
118
+ @status = args[:status] if args.key?(:status)
119
+ @schedule = args[:schedule] if args.key?(:schedule)
107
120
  @name = args[:name] if args.key?(:name)
108
- @description = args[:description] if args.key?(:description)
121
+ @deletion_time = args[:deletion_time] if args.key?(:deletion_time)
109
122
  @project_id = args[:project_id] if args.key?(:project_id)
110
- @transfer_spec = args[:transfer_spec] if args.key?(:transfer_spec)
111
- @schedule = args[:schedule] if args.key?(:schedule)
112
- @status = args[:status] if args.key?(:status)
113
- @creation_time = args[:creation_time] if args.key?(:creation_time)
114
123
  @last_modification_time = args[:last_modification_time] if args.key?(:last_modification_time)
115
- @deletion_time = args[:deletion_time] if args.key?(:deletion_time)
124
+ @description = args[:description] if args.key?(:description)
125
+ @creation_time = args[:creation_time] if args.key?(:creation_time)
126
+ @transfer_spec = args[:transfer_spec] if args.key?(:transfer_spec)
116
127
  end
117
128
  end
118
129
 
119
- # Configuration for running a transfer.
120
- class TransferSpec
130
+ # Transfers can be scheduled to recur or to run just once.
131
+ class Schedule
121
132
  include Google::Apis::Core::Hashable
122
133
 
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
134
+ # Represents a whole calendar date, e.g. date of birth. The time of day and
135
+ # time zone are either specified elsewhere or are not significant. The date
136
+ # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
137
+ # represent a year and month where the day is not significant, e.g. credit card
138
+ # expiration date. The year may be 0 to represent a month and day independent
139
+ # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
140
+ # and `google.protobuf.Timestamp`.
141
+ # Corresponds to the JSON property `scheduleEndDate`
142
+ # @return [Google::Apis::StoragetransferV1::Date]
143
+ attr_accessor :schedule_end_date
129
144
 
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
145
+ # Represents a time of day. The date and time zone are either not significant
146
+ # or are specified elsewhere. An API may choose to allow leap seconds. Related
147
+ # types are google.type.Date and `google.protobuf.Timestamp`.
148
+ # Corresponds to the JSON property `startTimeOfDay`
149
+ # @return [Google::Apis::StoragetransferV1::TimeOfDay]
150
+ attr_accessor :start_time_of_day
135
151
 
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
152
+ # Represents a whole calendar date, e.g. date of birth. The time of day and
153
+ # time zone are either specified elsewhere or are not significant. The date
154
+ # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
155
+ # represent a year and month where the day is not significant, e.g. credit card
156
+ # expiration date. The year may be 0 to represent a month and day independent
157
+ # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
158
+ # and `google.protobuf.Timestamp`.
159
+ # Corresponds to the JSON property `scheduleStartDate`
160
+ # @return [Google::Apis::StoragetransferV1::Date]
161
+ attr_accessor :schedule_start_date
157
162
 
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
163
+ def initialize(**args)
164
+ update!(**args)
165
+ end
164
166
 
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
167
+ # Update properties of this object
168
+ def update!(**args)
169
+ @schedule_end_date = args[:schedule_end_date] if args.key?(:schedule_end_date)
170
+ @start_time_of_day = args[:start_time_of_day] if args.key?(:start_time_of_day)
171
+ @schedule_start_date = args[:schedule_start_date] if args.key?(:schedule_start_date)
172
+ end
173
+ end
169
174
 
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
+ # Represents a whole calendar date, e.g. date of birth. The time of day and
176
+ # time zone are either specified elsewhere or are not significant. The date
177
+ # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
178
+ # represent a year and month where the day is not significant, e.g. credit card
179
+ # expiration date. The year may be 0 to represent a month and day independent
180
+ # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
181
+ # and `google.protobuf.Timestamp`.
182
+ class Date
183
+ include Google::Apis::Core::Hashable
184
+
185
+ # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
186
+ # a year.
187
+ # Corresponds to the JSON property `year`
188
+ # @return [Fixnum]
189
+ attr_accessor :year
190
+
191
+ # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
192
+ # if specifying a year/month where the day is not significant.
193
+ # Corresponds to the JSON property `day`
194
+ # @return [Fixnum]
195
+ attr_accessor :day
196
+
197
+ # Month of year. Must be from 1 to 12.
198
+ # Corresponds to the JSON property `month`
199
+ # @return [Fixnum]
200
+ attr_accessor :month
175
201
 
176
202
  def initialize(**args)
177
203
  update!(**args)
@@ -179,26 +205,61 @@ module Google
179
205
 
180
206
  # Update properties of this object
181
207
  def update!(**args)
182
- @gcs_data_source = args[:gcs_data_source] if args.key?(:gcs_data_source)
183
- @aws_s3_data_source = args[:aws_s3_data_source] if args.key?(:aws_s3_data_source)
184
- @http_data_source = args[:http_data_source] if args.key?(:http_data_source)
185
- @gcs_data_sink = args[:gcs_data_sink] if args.key?(:gcs_data_sink)
186
- @object_conditions = args[:object_conditions] if args.key?(:object_conditions)
187
- @transfer_options = args[:transfer_options] if args.key?(:transfer_options)
208
+ @year = args[:year] if args.key?(:year)
209
+ @day = args[:day] if args.key?(:day)
210
+ @month = args[:month] if args.key?(:month)
188
211
  end
189
212
  end
190
213
 
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
214
+ # A description of the execution of a transfer.
215
+ class TransferOperation
195
216
  include Google::Apis::Core::Hashable
196
217
 
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`
218
+ # The name of the transfer job that triggers this transfer operation.
219
+ # Corresponds to the JSON property `transferJobName`
200
220
  # @return [String]
201
- attr_accessor :bucket_name
221
+ attr_accessor :transfer_job_name
222
+
223
+ # Configuration for running a transfer.
224
+ # Corresponds to the JSON property `transferSpec`
225
+ # @return [Google::Apis::StoragetransferV1::TransferSpec]
226
+ attr_accessor :transfer_spec
227
+
228
+ # Status of the transfer operation.
229
+ # Corresponds to the JSON property `status`
230
+ # @return [String]
231
+ attr_accessor :status
232
+
233
+ # A collection of counters that report the progress of a transfer operation.
234
+ # Corresponds to the JSON property `counters`
235
+ # @return [Google::Apis::StoragetransferV1::TransferCounters]
236
+ attr_accessor :counters
237
+
238
+ # Summarizes errors encountered with sample error log entries.
239
+ # Corresponds to the JSON property `errorBreakdowns`
240
+ # @return [Array<Google::Apis::StoragetransferV1::ErrorSummary>]
241
+ attr_accessor :error_breakdowns
242
+
243
+ # A globally unique ID assigned by the system.
244
+ # Corresponds to the JSON property `name`
245
+ # @return [String]
246
+ attr_accessor :name
247
+
248
+ # The ID of the Google Cloud Platform Console project that owns the operation.
249
+ # Required.
250
+ # Corresponds to the JSON property `projectId`
251
+ # @return [String]
252
+ attr_accessor :project_id
253
+
254
+ # End time of this transfer execution.
255
+ # Corresponds to the JSON property `endTime`
256
+ # @return [String]
257
+ attr_accessor :end_time
258
+
259
+ # Start time of this transfer execution.
260
+ # Corresponds to the JSON property `startTime`
261
+ # @return [String]
262
+ attr_accessor :start_time
202
263
 
203
264
  def initialize(**args)
204
265
  update!(**args)
@@ -206,49 +267,63 @@ module Google
206
267
 
207
268
  # Update properties of this object
208
269
  def update!(**args)
209
- @bucket_name = args[:bucket_name] if args.key?(:bucket_name)
270
+ @transfer_job_name = args[:transfer_job_name] if args.key?(:transfer_job_name)
271
+ @transfer_spec = args[:transfer_spec] if args.key?(:transfer_spec)
272
+ @status = args[:status] if args.key?(:status)
273
+ @counters = args[:counters] if args.key?(:counters)
274
+ @error_breakdowns = args[:error_breakdowns] if args.key?(:error_breakdowns)
275
+ @name = args[:name] if args.key?(:name)
276
+ @project_id = args[:project_id] if args.key?(:project_id)
277
+ @end_time = args[:end_time] if args.key?(:end_time)
278
+ @start_time = args[:start_time] if args.key?(:start_time)
210
279
  end
211
280
  end
212
281
 
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.
282
+ # An AwsS3Data can be a data source, but not a data sink.
283
+ # In an AwsS3Data, an object's name is the S3 object's key name.
215
284
  class AwsS3Data
216
285
  include Google::Apis::Core::Hashable
217
286
 
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)).
287
+ # AWS access key (see
288
+ # [AWS Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-
289
+ # security-credentials.html)).
226
290
  # Corresponds to the JSON property `awsAccessKey`
227
291
  # @return [Google::Apis::StoragetransferV1::AwsAccessKey]
228
292
  attr_accessor :aws_access_key
229
293
 
294
+ # S3 Bucket name (see
295
+ # [Creating a bucket](http://docs.aws.amazon.com/AmazonS3/latest/dev/create-
296
+ # bucket-get-location-example.html)).
297
+ # Required.
298
+ # Corresponds to the JSON property `bucketName`
299
+ # @return [String]
300
+ attr_accessor :bucket_name
301
+
230
302
  def initialize(**args)
231
303
  update!(**args)
232
304
  end
233
305
 
234
306
  # Update properties of this object
235
307
  def update!(**args)
236
- @bucket_name = args[:bucket_name] if args.key?(:bucket_name)
237
308
  @aws_access_key = args[:aws_access_key] if args.key?(:aws_access_key)
309
+ @bucket_name = args[:bucket_name] if args.key?(:bucket_name)
238
310
  end
239
311
  end
240
312
 
241
- # AWS access key (see [AWS Security Credentials](http://docs.aws.amazon.com/
242
- # general/latest/gr/aws-security-credentials.html)).
313
+ # AWS access key (see
314
+ # [AWS Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-
315
+ # security-credentials.html)).
243
316
  class AwsAccessKey
244
317
  include Google::Apis::Core::Hashable
245
318
 
246
- # AWS access key ID. Required.
319
+ # AWS access key ID.
320
+ # Required.
247
321
  # Corresponds to the JSON property `accessKeyId`
248
322
  # @return [String]
249
323
  attr_accessor :access_key_id
250
324
 
251
- # AWS secret access key. This field is not returned in RPC responses. Required.
325
+ # AWS secret access key. This field is not returned in RPC responses.
326
+ # Required.
252
327
  # Corresponds to the JSON property `secretAccessKey`
253
328
  # @return [String]
254
329
  attr_accessor :secret_access_key
@@ -264,171 +339,127 @@ module Google
264
339
  end
265
340
  end
266
341
 
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
342
+ # A generic empty message that you can re-use to avoid defining duplicated
343
+ # empty messages in your APIs. A typical example is to use it as the request
344
+ # or the response type of an API method. For instance:
345
+ # service Foo `
346
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
347
+ # `
348
+ # The JSON representation for `Empty` is empty JSON object ````.
349
+ class Empty
286
350
  include Google::Apis::Core::Hashable
287
351
 
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
352
  def initialize(**args)
296
353
  update!(**args)
297
354
  end
298
355
 
299
356
  # Update properties of this object
300
357
  def update!(**args)
301
- @list_url = args[:list_url] if args.key?(:list_url)
302
358
  end
303
359
  end
304
360
 
305
- # Conditions that determine which objects will be transferred.
306
- class ObjectConditions
361
+ # Request passed to PauseTransferOperation.
362
+ class PauseTransferOperationRequest
307
363
  include Google::Apis::Core::Hashable
308
364
 
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
365
  def initialize(**args)
352
366
  update!(**args)
353
367
  end
354
368
 
355
369
  # Update properties of this object
356
370
  def update!(**args)
357
- @min_time_elapsed_since_last_modification = args[:min_time_elapsed_since_last_modification] if args.key?(:min_time_elapsed_since_last_modification)
358
- @max_time_elapsed_since_last_modification = args[:max_time_elapsed_since_last_modification] if args.key?(:max_time_elapsed_since_last_modification)
359
- @include_prefixes = args[:include_prefixes] if args.key?(:include_prefixes)
360
- @exclude_prefixes = args[:exclude_prefixes] if args.key?(:exclude_prefixes)
361
371
  end
362
372
  end
363
373
 
364
- # TransferOptions uses three boolean parameters to define the actions to be
365
- # performed on objects in a transfer.
366
- class TransferOptions
374
+ # A collection of counters that report the progress of a transfer operation.
375
+ class TransferCounters
367
376
  include Google::Apis::Core::Hashable
368
377
 
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
378
+ # Bytes that are deleted from the data source.
379
+ # Corresponds to the JSON property `bytesDeletedFromSource`
380
+ # @return [String]
381
+ attr_accessor :bytes_deleted_from_source
380
382
 
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
383
+ # Objects found in the data source that are scheduled to be transferred,
384
+ # which will be copied, excluded based on conditions, or skipped due to
385
+ # failures.
386
+ # Corresponds to the JSON property `objectsFoundFromSource`
387
+ # @return [String]
388
+ attr_accessor :objects_found_from_source
387
389
 
388
- def initialize(**args)
389
- update!(**args)
390
- end
390
+ # Objects that failed to be deleted from the data sink.
391
+ # Corresponds to the JSON property `objectsFailedToDeleteFromSink`
392
+ # @return [String]
393
+ attr_accessor :objects_failed_to_delete_from_sink
391
394
 
392
- # Update properties of this object
393
- def update!(**args)
394
- @overwrite_objects_already_existing_in_sink = args[:overwrite_objects_already_existing_in_sink] if args.key?(:overwrite_objects_already_existing_in_sink)
395
- @delete_objects_unique_in_sink = args[:delete_objects_unique_in_sink] if args.key?(:delete_objects_unique_in_sink)
396
- @delete_objects_from_source_after_transfer = args[:delete_objects_from_source_after_transfer] if args.key?(:delete_objects_from_source_after_transfer)
397
- end
398
- end
395
+ # Objects that are deleted from the data sink.
396
+ # Corresponds to the JSON property `objectsDeletedFromSink`
397
+ # @return [String]
398
+ attr_accessor :objects_deleted_from_sink
399
399
 
400
- # Transfers can be scheduled to recur or to run just once.
401
- class Schedule
402
- include Google::Apis::Core::Hashable
400
+ # Objects found only in the data sink that are scheduled to be deleted.
401
+ # Corresponds to the JSON property `objectsFoundOnlyFromSink`
402
+ # @return [String]
403
+ attr_accessor :objects_found_only_from_sink
403
404
 
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
405
+ # Bytes in the data source that are not transferred because they already
406
+ # exist in the data sink.
407
+ # Corresponds to the JSON property `bytesFromSourceSkippedBySync`
408
+ # @return [String]
409
+ attr_accessor :bytes_from_source_skipped_by_sync
414
410
 
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
411
+ # Bytes that are deleted from the data sink.
412
+ # Corresponds to the JSON property `bytesDeletedFromSink`
413
+ # @return [String]
414
+ attr_accessor :bytes_deleted_from_sink
425
415
 
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
416
+ # Bytes that failed to be deleted from the data sink.
417
+ # Corresponds to the JSON property `bytesFailedToDeleteFromSink`
418
+ # @return [String]
419
+ attr_accessor :bytes_failed_to_delete_from_sink
420
+
421
+ # Bytes in the data source that failed during the transfer.
422
+ # Corresponds to the JSON property `bytesFromSourceFailed`
423
+ # @return [String]
424
+ attr_accessor :bytes_from_source_failed
425
+
426
+ # Objects in the data source that failed during the transfer.
427
+ # Corresponds to the JSON property `objectsFromSourceFailed`
428
+ # @return [String]
429
+ attr_accessor :objects_from_source_failed
430
+
431
+ # Objects that are copied to the data sink.
432
+ # Corresponds to the JSON property `objectsCopiedToSink`
433
+ # @return [String]
434
+ attr_accessor :objects_copied_to_sink
435
+
436
+ # Bytes found only in the data sink that are scheduled to be deleted.
437
+ # Corresponds to the JSON property `bytesFoundOnlyFromSink`
438
+ # @return [String]
439
+ attr_accessor :bytes_found_only_from_sink
440
+
441
+ # Objects that are deleted from the data source.
442
+ # Corresponds to the JSON property `objectsDeletedFromSource`
443
+ # @return [String]
444
+ attr_accessor :objects_deleted_from_source
445
+
446
+ # Bytes that are copied to the data sink.
447
+ # Corresponds to the JSON property `bytesCopiedToSink`
448
+ # @return [String]
449
+ attr_accessor :bytes_copied_to_sink
450
+
451
+ # Bytes found in the data source that are scheduled to be transferred,
452
+ # which will be copied, excluded based on conditions, or skipped due to
453
+ # failures.
454
+ # Corresponds to the JSON property `bytesFoundFromSource`
455
+ # @return [String]
456
+ attr_accessor :bytes_found_from_source
457
+
458
+ # Objects in the data source that are not transferred because they already
459
+ # exist in the data sink.
460
+ # Corresponds to the JSON property `objectsFromSourceSkippedBySync`
461
+ # @return [String]
462
+ attr_accessor :objects_from_source_skipped_by_sync
432
463
 
433
464
  def initialize(**args)
434
465
  update!(**args)
@@ -436,38 +467,45 @@ module Google
436
467
 
437
468
  # Update properties of this object
438
469
  def update!(**args)
439
- @schedule_start_date = args[:schedule_start_date] if args.key?(:schedule_start_date)
440
- @schedule_end_date = args[:schedule_end_date] if args.key?(:schedule_end_date)
441
- @start_time_of_day = args[:start_time_of_day] if args.key?(:start_time_of_day)
470
+ @bytes_deleted_from_source = args[:bytes_deleted_from_source] if args.key?(:bytes_deleted_from_source)
471
+ @objects_found_from_source = args[:objects_found_from_source] if args.key?(:objects_found_from_source)
472
+ @objects_failed_to_delete_from_sink = args[:objects_failed_to_delete_from_sink] if args.key?(:objects_failed_to_delete_from_sink)
473
+ @objects_deleted_from_sink = args[:objects_deleted_from_sink] if args.key?(:objects_deleted_from_sink)
474
+ @objects_found_only_from_sink = args[:objects_found_only_from_sink] if args.key?(:objects_found_only_from_sink)
475
+ @bytes_from_source_skipped_by_sync = args[:bytes_from_source_skipped_by_sync] if args.key?(:bytes_from_source_skipped_by_sync)
476
+ @bytes_deleted_from_sink = args[:bytes_deleted_from_sink] if args.key?(:bytes_deleted_from_sink)
477
+ @bytes_failed_to_delete_from_sink = args[:bytes_failed_to_delete_from_sink] if args.key?(:bytes_failed_to_delete_from_sink)
478
+ @bytes_from_source_failed = args[:bytes_from_source_failed] if args.key?(:bytes_from_source_failed)
479
+ @objects_from_source_failed = args[:objects_from_source_failed] if args.key?(:objects_from_source_failed)
480
+ @objects_copied_to_sink = args[:objects_copied_to_sink] if args.key?(:objects_copied_to_sink)
481
+ @bytes_found_only_from_sink = args[:bytes_found_only_from_sink] if args.key?(:bytes_found_only_from_sink)
482
+ @objects_deleted_from_source = args[:objects_deleted_from_source] if args.key?(:objects_deleted_from_source)
483
+ @bytes_copied_to_sink = args[:bytes_copied_to_sink] if args.key?(:bytes_copied_to_sink)
484
+ @bytes_found_from_source = args[:bytes_found_from_source] if args.key?(:bytes_found_from_source)
485
+ @objects_from_source_skipped_by_sync = args[:objects_from_source_skipped_by_sync] if args.key?(:objects_from_source_skipped_by_sync)
442
486
  end
443
487
  end
444
488
 
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
489
+ # A summary of errors by error code, plus a count and sample error log
490
+ # entries.
491
+ class ErrorSummary
453
492
  include Google::Apis::Core::Hashable
454
493
 
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
494
+ # Required.
495
+ # Corresponds to the JSON property `errorCode`
496
+ # @return [String]
497
+ attr_accessor :error_code
460
498
 
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
499
+ # Count of this type of error.
500
+ # Required.
501
+ # Corresponds to the JSON property `errorCount`
502
+ # @return [String]
503
+ attr_accessor :error_count
465
504
 
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
505
+ # Error samples.
506
+ # Corresponds to the JSON property `errorLogEntries`
507
+ # @return [Array<Google::Apis::StoragetransferV1::ErrorLogEntry>]
508
+ attr_accessor :error_log_entries
471
509
 
472
510
  def initialize(**args)
473
511
  update!(**args)
@@ -475,39 +513,53 @@ module Google
475
513
 
476
514
  # Update properties of this object
477
515
  def update!(**args)
478
- @year = args[:year] if args.key?(:year)
479
- @month = args[:month] if args.key?(:month)
480
- @day = args[:day] if args.key?(:day)
516
+ @error_code = args[:error_code] if args.key?(:error_code)
517
+ @error_count = args[:error_count] if args.key?(:error_count)
518
+ @error_log_entries = args[:error_log_entries] if args.key?(:error_log_entries)
481
519
  end
482
520
  end
483
521
 
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
522
+ # An HttpData specifies a list of objects on the web to be transferred over
523
+ # HTTP. The information of the objects to be transferred is contained in a
524
+ # file referenced by a URL. The first line in the file must be
525
+ # "TsvHttpData-1.0", which specifies the format of the file. Subsequent lines
526
+ # specify the information of the list of objects, one object per list entry.
527
+ # Each entry has the following tab-delimited fields:
528
+ # * HTTP URL - The location of the object.
529
+ # * Length - The size of the object in bytes.
530
+ # * MD5 - The base64-encoded MD5 hash of the object.
531
+ # For an example of a valid TSV file, see
532
+ # [Transferring data from URLs](https://cloud.google.com/storage/transfer/#urls)
533
+ # When transferring data based on a URL list, keep the following in mind:
534
+ # * When an object located at `http(s)://hostname:port/<URL-path>` is
535
+ # transferred
536
+ # to a data sink, the name of the object at the data sink is
537
+ # `<hostname>/<URL-path>`.
538
+ # * If the specified size of an object does not match the actual size of the
539
+ # object fetched, the object will not be transferred.
540
+ # * If the specified MD5 does not match the MD5 computed from the transferred
541
+ # bytes, the object transfer will fail. For more information, see
542
+ # [Generating MD5 hashes](https://cloud.google.com/storage/transfer/#md5)
543
+ # * Ensure that each URL you specify is publicly accessible. For
544
+ # example, in Google Cloud Storage you can
545
+ # [share an object publicly]
546
+ # (https://cloud.google.com/storage/docs/cloud-console#_sharingdata) and get
547
+ # a link to it.
548
+ # * Storage Transfer Service obeys `robots.txt` rules and requires the source
549
+ # HTTP server to support `Range` requests and to return a `Content-Length`
550
+ # header in each response.
551
+ # * [ObjectConditions](#ObjectConditions) have no effect when filtering objects
552
+ # to transfer.
553
+ class HttpData
488
554
  include Google::Apis::Core::Hashable
489
555
 
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
556
+ # The URL that points to the file that stores the object list entries.
557
+ # This file must allow public access. Currently, only URLs with HTTP and
558
+ # HTTPS schemes are supported.
559
+ # Required.
560
+ # Corresponds to the JSON property `listUrl`
561
+ # @return [String]
562
+ attr_accessor :list_url
511
563
 
512
564
  def initialize(**args)
513
565
  update!(**args)
@@ -515,37 +567,23 @@ module Google
515
567
 
516
568
  # Update properties of this object
517
569
  def update!(**args)
518
- @hours = args[:hours] if args.key?(:hours)
519
- @minutes = args[:minutes] if args.key?(:minutes)
520
- @seconds = args[:seconds] if args.key?(:seconds)
521
- @nanos = args[:nanos] if args.key?(:nanos)
570
+ @list_url = args[:list_url] if args.key?(:list_url)
522
571
  end
523
572
  end
524
573
 
525
- # Request passed to UpdateTransferJob.
526
- class UpdateTransferJobRequest
574
+ # In a GcsData, an object's name is the Google Cloud Storage object's name and
575
+ # its `lastModificationTime` refers to the object's updated time, which changes
576
+ # when the content or the metadata of the object is updated.
577
+ class GcsData
527
578
  include Google::Apis::Core::Hashable
528
579
 
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`
580
+ # Google Cloud Storage bucket name (see
581
+ # [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#
582
+ # requirements)).
583
+ # Required.
584
+ # Corresponds to the JSON property `bucketName`
547
585
  # @return [String]
548
- attr_accessor :update_transfer_job_field_mask
586
+ attr_accessor :bucket_name
549
587
 
550
588
  def initialize(**args)
551
589
  update!(**args)
@@ -553,9 +591,7 @@ module Google
553
591
 
554
592
  # Update properties of this object
555
593
  def update!(**args)
556
- @project_id = args[:project_id] if args.key?(:project_id)
557
- @transfer_job = args[:transfer_job] if args.key?(:transfer_job)
558
- @update_transfer_job_field_mask = args[:update_transfer_job_field_mask] if args.key?(:update_transfer_job_field_mask)
594
+ @bucket_name = args[:bucket_name] if args.key?(:bucket_name)
559
595
  end
560
596
  end
561
597
 
@@ -563,67 +599,132 @@ module Google
563
599
  class ListTransferJobsResponse
564
600
  include Google::Apis::Core::Hashable
565
601
 
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
602
  # The list next page token.
572
603
  # Corresponds to the JSON property `nextPageToken`
573
604
  # @return [String]
574
605
  attr_accessor :next_page_token
575
606
 
607
+ # A list of transfer jobs.
608
+ # Corresponds to the JSON property `transferJobs`
609
+ # @return [Array<Google::Apis::StoragetransferV1::TransferJob>]
610
+ attr_accessor :transfer_jobs
611
+
576
612
  def initialize(**args)
577
613
  update!(**args)
578
614
  end
579
615
 
580
616
  # Update properties of this object
581
617
  def update!(**args)
582
- @transfer_jobs = args[:transfer_jobs] if args.key?(:transfer_jobs)
583
618
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
619
+ @transfer_jobs = args[:transfer_jobs] if args.key?(:transfer_jobs)
584
620
  end
585
621
  end
586
622
 
587
- # Request passed to PauseTransferOperation.
588
- class PauseTransferOperationRequest
623
+ # Request passed to UpdateTransferJob.
624
+ class UpdateTransferJobRequest
589
625
  include Google::Apis::Core::Hashable
590
626
 
627
+ # This resource represents the configuration of a transfer job that runs
628
+ # periodically.
629
+ # Corresponds to the JSON property `transferJob`
630
+ # @return [Google::Apis::StoragetransferV1::TransferJob]
631
+ attr_accessor :transfer_job
632
+
633
+ # The ID of the Google Cloud Platform Console project that owns the job.
634
+ # Required.
635
+ # Corresponds to the JSON property `projectId`
636
+ # @return [String]
637
+ attr_accessor :project_id
638
+
639
+ # The field mask of the fields in `transferJob` that are to be updated in
640
+ # this request. Fields in `transferJob` that can be updated are:
641
+ # `description`, `transferSpec`, and `status`. To update the `transferSpec`
642
+ # of the job, a complete transfer specification has to be provided. An
643
+ # incomplete specification which misses any required fields will be rejected
644
+ # with the error `INVALID_ARGUMENT`.
645
+ # Corresponds to the JSON property `updateTransferJobFieldMask`
646
+ # @return [String]
647
+ attr_accessor :update_transfer_job_field_mask
648
+
591
649
  def initialize(**args)
592
650
  update!(**args)
593
651
  end
594
652
 
595
653
  # Update properties of this object
596
654
  def update!(**args)
655
+ @transfer_job = args[:transfer_job] if args.key?(:transfer_job)
656
+ @project_id = args[:project_id] if args.key?(:project_id)
657
+ @update_transfer_job_field_mask = args[:update_transfer_job_field_mask] if args.key?(:update_transfer_job_field_mask)
597
658
  end
598
659
  end
599
660
 
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
661
+ # Conditions that determine which objects will be transferred.
662
+ class ObjectConditions
619
663
  include Google::Apis::Core::Hashable
620
664
 
665
+ # `maxTimeElapsedSinceLastModification` is the complement to
666
+ # `minTimeElapsedSinceLastModification`.
667
+ # Corresponds to the JSON property `maxTimeElapsedSinceLastModification`
668
+ # @return [String]
669
+ attr_accessor :max_time_elapsed_since_last_modification
670
+
671
+ # If `includePrefixes` is specified, objects that satisfy the object
672
+ # conditions must have names that start with one of the `includePrefixes`
673
+ # and that do not start with any of the `excludePrefixes`. If `includePrefixes`
674
+ # is not specified, all objects except those that have names starting with
675
+ # one of the `excludePrefixes` must satisfy the object conditions.
676
+ # Requirements:
677
+ # * Each include-prefix and exclude-prefix can contain any sequence of
678
+ # Unicode characters, of max length 1024 bytes when UTF8-encoded, and
679
+ # must not contain Carriage Return or Line Feed characters. Wildcard
680
+ # matching and regular expression matching are not supported.
681
+ # * Each include-prefix and exclude-prefix must omit the leading slash.
682
+ # For example, to include the `requests.gz` object in a transfer from
683
+ # `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include
684
+ # prefix as `logs/y=2015/requests.gz`.
685
+ # * None of the include-prefix or the exclude-prefix values can be empty,
686
+ # if specified.
687
+ # * Each include-prefix must include a distinct portion of the object
688
+ # namespace, i.e., no include-prefix may be a prefix of another
689
+ # include-prefix.
690
+ # * Each exclude-prefix must exclude a distinct portion of the object
691
+ # namespace, i.e., no exclude-prefix may be a prefix of another
692
+ # exclude-prefix.
693
+ # * If `includePrefixes` is specified, then each exclude-prefix must start
694
+ # with the value of a path explicitly included by `includePrefixes`.
695
+ # The max size of `includePrefixes` is 1000.
696
+ # Corresponds to the JSON property `includePrefixes`
697
+ # @return [Array<String>]
698
+ attr_accessor :include_prefixes
699
+
700
+ # If unspecified, `minTimeElapsedSinceLastModification` takes a zero value
701
+ # and `maxTimeElapsedSinceLastModification` takes the maximum possible
702
+ # value of Duration. Objects that satisfy the object conditions
703
+ # must either have a `lastModificationTime` greater or equal to
704
+ # `NOW` - `maxTimeElapsedSinceLastModification` and less than
705
+ # `NOW` - `minTimeElapsedSinceLastModification`, or not have a
706
+ # `lastModificationTime`.
707
+ # Corresponds to the JSON property `minTimeElapsedSinceLastModification`
708
+ # @return [String]
709
+ attr_accessor :min_time_elapsed_since_last_modification
710
+
711
+ # `excludePrefixes` must follow the requirements described for
712
+ # `includePrefixes`.
713
+ # The max size of `excludePrefixes` is 1000.
714
+ # Corresponds to the JSON property `excludePrefixes`
715
+ # @return [Array<String>]
716
+ attr_accessor :exclude_prefixes
717
+
621
718
  def initialize(**args)
622
719
  update!(**args)
623
720
  end
624
721
 
625
722
  # Update properties of this object
626
723
  def update!(**args)
724
+ @max_time_elapsed_since_last_modification = args[:max_time_elapsed_since_last_modification] if args.key?(:max_time_elapsed_since_last_modification)
725
+ @include_prefixes = args[:include_prefixes] if args.key?(:include_prefixes)
726
+ @min_time_elapsed_since_last_modification = args[:min_time_elapsed_since_last_modification] if args.key?(:min_time_elapsed_since_last_modification)
727
+ @exclude_prefixes = args[:exclude_prefixes] if args.key?(:exclude_prefixes)
627
728
  end
628
729
  end
629
730
 
@@ -632,71 +733,80 @@ module Google
632
733
  class Operation
633
734
  include Google::Apis::Core::Hashable
634
735
 
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.
736
+ # If the value is `false`, it means the operation is still in progress.
737
+ # If true, the operation is completed, and either `error` or `response` is
738
+ # available.
649
739
  # Corresponds to the JSON property `done`
650
740
  # @return [Boolean]
651
741
  attr_accessor :done
652
742
  alias_method :done?, :done
653
743
 
744
+ # The normal response of the operation in case of success. If the original
745
+ # method returns no data on success, such as `Delete`, the response is
746
+ # `google.protobuf.Empty`. If the original method is standard
747
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
748
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
749
+ # is the original method name. For example, if the original method name
750
+ # is `TakeSnapshot()`, the inferred response type is
751
+ # `TakeSnapshotResponse`.
752
+ # Corresponds to the JSON property `response`
753
+ # @return [Hash<String,Object>]
754
+ attr_accessor :response
755
+
756
+ # The server-assigned name, which is only unique within the same service that
757
+ # originally returns it. If you use the default HTTP mapping, the `name` should
758
+ # have the format of `transferOperations/some/unique/name`.
759
+ # Corresponds to the JSON property `name`
760
+ # @return [String]
761
+ attr_accessor :name
762
+
654
763
  # 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
764
+ # programming environments, including REST APIs and RPC APIs. It is used by
765
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
766
+ # - Simple to use and understand for most users
767
+ # - Flexible enough to meet unexpected needs
768
+ # # Overview
769
+ # The `Status` message contains three pieces of data: error code, error message,
770
+ # and error details. The error code should be an enum value of
771
+ # google.rpc.Code, but it may accept additional error codes if needed. The
772
+ # error message should be a developer-facing English message that helps
662
773
  # developers *understand* and *resolve* the error. If a localized user-facing
663
774
  # error message is needed, put the localized message in the error details or
664
775
  # localize it in the client. The optional error details may contain arbitrary
665
776
  # 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.
777
+ # in the package `google.rpc` which can be used for common error conditions.
778
+ # # Language mapping
779
+ # The `Status` message is the logical representation of the error model, but it
780
+ # is not necessarily the actual wire format. When the `Status` message is
781
+ # exposed in different client libraries and different wire protocols, it can be
782
+ # mapped differently. For example, it will likely be mapped to some exceptions
783
+ # in Java, but more likely mapped to some error codes in C.
784
+ # # Other uses
785
+ # The error model and the `Status` message can be used in a variety of
786
+ # environments, either with or without APIs, to provide a
787
+ # consistent developer experience across different environments.
788
+ # Example uses of this error model include:
789
+ # - Partial errors. If a service needs to return partial errors to the client,
790
+ # it may embed the `Status` in the normal response to indicate the partial
791
+ # errors.
792
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
793
+ # have a `Status` message for error reporting purpose.
794
+ # - Batch operations. If a client uses batch request and batch response, the
795
+ # `Status` message should be used directly inside batch response, one for
796
+ # each error sub-response.
797
+ # - Asynchronous operations. If an API call embeds asynchronous operation
798
+ # results in its response, the status of those operations should be
799
+ # represented directly using the `Status` message.
800
+ # - Logging. If some API errors are stored in logs, the message `Status` could
801
+ # be used directly after any stripping needed for security/privacy reasons.
686
802
  # Corresponds to the JSON property `error`
687
803
  # @return [Google::Apis::StoragetransferV1::Status]
688
804
  attr_accessor :error
689
805
 
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`
806
+ # Represents the transfer operation object.
807
+ # Corresponds to the JSON property `metadata`
698
808
  # @return [Hash<String,Object>]
699
- attr_accessor :response
809
+ attr_accessor :metadata
700
810
 
701
811
  def initialize(**args)
702
812
  update!(**args)
@@ -704,67 +814,37 @@ module Google
704
814
 
705
815
  # Update properties of this object
706
816
  def update!(**args)
707
- @name = args[:name] if args.key?(:name)
708
- @metadata = args[:metadata] if args.key?(:metadata)
709
817
  @done = args[:done] if args.key?(:done)
710
- @error = args[:error] if args.key?(:error)
711
818
  @response = args[:response] if args.key?(:response)
819
+ @name = args[:name] if args.key?(:name)
820
+ @error = args[:error] if args.key?(:error)
821
+ @metadata = args[:metadata] if args.key?(:metadata)
712
822
  end
713
823
  end
714
824
 
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
825
+ # TransferOptions uses three boolean parameters to define the actions
826
+ # to be performed on objects in a transfer.
827
+ class TransferOptions
748
828
  include Google::Apis::Core::Hashable
749
829
 
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
830
+ # Whether overwriting objects that already exist in the sink is allowed.
831
+ # Corresponds to the JSON property `overwriteObjectsAlreadyExistingInSink`
832
+ # @return [Boolean]
833
+ attr_accessor :overwrite_objects_already_existing_in_sink
834
+ alias_method :overwrite_objects_already_existing_in_sink?, :overwrite_objects_already_existing_in_sink
755
835
 
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
836
+ # Whether objects should be deleted from the source after they are
837
+ # transferred to the sink.
838
+ # Corresponds to the JSON property `deleteObjectsFromSourceAfterTransfer`
839
+ # @return [Boolean]
840
+ attr_accessor :delete_objects_from_source_after_transfer
841
+ alias_method :delete_objects_from_source_after_transfer?, :delete_objects_from_source_after_transfer
762
842
 
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
843
+ # Whether objects that exist only in the sink should be deleted.
844
+ # Corresponds to the JSON property `deleteObjectsUniqueInSink`
845
+ # @return [Boolean]
846
+ attr_accessor :delete_objects_unique_in_sink
847
+ alias_method :delete_objects_unique_in_sink?, :delete_objects_unique_in_sink
768
848
 
769
849
  def initialize(**args)
770
850
  update!(**args)
@@ -772,26 +852,81 @@ module Google
772
852
 
773
853
  # Update properties of this object
774
854
  def update!(**args)
775
- @code = args[:code] if args.key?(:code)
776
- @message = args[:message] if args.key?(:message)
777
- @details = args[:details] if args.key?(:details)
855
+ @overwrite_objects_already_existing_in_sink = args[:overwrite_objects_already_existing_in_sink] if args.key?(:overwrite_objects_already_existing_in_sink)
856
+ @delete_objects_from_source_after_transfer = args[:delete_objects_from_source_after_transfer] if args.key?(:delete_objects_from_source_after_transfer)
857
+ @delete_objects_unique_in_sink = args[:delete_objects_unique_in_sink] if args.key?(:delete_objects_unique_in_sink)
778
858
  end
779
859
  end
780
860
 
781
- # The response message for [Operations.ListOperations][google.longrunning.
782
- # Operations.ListOperations].
783
- class ListOperationsResponse
861
+ # Configuration for running a transfer.
862
+ class TransferSpec
784
863
  include Google::Apis::Core::Hashable
785
864
 
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
865
+ # In a GcsData, an object's name is the Google Cloud Storage object's name and
866
+ # its `lastModificationTime` refers to the object's updated time, which changes
867
+ # when the content or the metadata of the object is updated.
868
+ # Corresponds to the JSON property `gcsDataSource`
869
+ # @return [Google::Apis::StoragetransferV1::GcsData]
870
+ attr_accessor :gcs_data_source
790
871
 
791
- # The standard List next-page token.
792
- # Corresponds to the JSON property `nextPageToken`
793
- # @return [String]
794
- attr_accessor :next_page_token
872
+ # TransferOptions uses three boolean parameters to define the actions
873
+ # to be performed on objects in a transfer.
874
+ # Corresponds to the JSON property `transferOptions`
875
+ # @return [Google::Apis::StoragetransferV1::TransferOptions]
876
+ attr_accessor :transfer_options
877
+
878
+ # An AwsS3Data can be a data source, but not a data sink.
879
+ # In an AwsS3Data, an object's name is the S3 object's key name.
880
+ # Corresponds to the JSON property `awsS3DataSource`
881
+ # @return [Google::Apis::StoragetransferV1::AwsS3Data]
882
+ attr_accessor :aws_s3_data_source
883
+
884
+ # An HttpData specifies a list of objects on the web to be transferred over
885
+ # HTTP. The information of the objects to be transferred is contained in a
886
+ # file referenced by a URL. The first line in the file must be
887
+ # "TsvHttpData-1.0", which specifies the format of the file. Subsequent lines
888
+ # specify the information of the list of objects, one object per list entry.
889
+ # Each entry has the following tab-delimited fields:
890
+ # * HTTP URL - The location of the object.
891
+ # * Length - The size of the object in bytes.
892
+ # * MD5 - The base64-encoded MD5 hash of the object.
893
+ # For an example of a valid TSV file, see
894
+ # [Transferring data from URLs](https://cloud.google.com/storage/transfer/#urls)
895
+ # When transferring data based on a URL list, keep the following in mind:
896
+ # * When an object located at `http(s)://hostname:port/<URL-path>` is
897
+ # transferred
898
+ # to a data sink, the name of the object at the data sink is
899
+ # `<hostname>/<URL-path>`.
900
+ # * If the specified size of an object does not match the actual size of the
901
+ # object fetched, the object will not be transferred.
902
+ # * If the specified MD5 does not match the MD5 computed from the transferred
903
+ # bytes, the object transfer will fail. For more information, see
904
+ # [Generating MD5 hashes](https://cloud.google.com/storage/transfer/#md5)
905
+ # * Ensure that each URL you specify is publicly accessible. For
906
+ # example, in Google Cloud Storage you can
907
+ # [share an object publicly]
908
+ # (https://cloud.google.com/storage/docs/cloud-console#_sharingdata) and get
909
+ # a link to it.
910
+ # * Storage Transfer Service obeys `robots.txt` rules and requires the source
911
+ # HTTP server to support `Range` requests and to return a `Content-Length`
912
+ # header in each response.
913
+ # * [ObjectConditions](#ObjectConditions) have no effect when filtering objects
914
+ # to transfer.
915
+ # Corresponds to the JSON property `httpDataSource`
916
+ # @return [Google::Apis::StoragetransferV1::HttpData]
917
+ attr_accessor :http_data_source
918
+
919
+ # Conditions that determine which objects will be transferred.
920
+ # Corresponds to the JSON property `objectConditions`
921
+ # @return [Google::Apis::StoragetransferV1::ObjectConditions]
922
+ attr_accessor :object_conditions
923
+
924
+ # In a GcsData, an object's name is the Google Cloud Storage object's name and
925
+ # its `lastModificationTime` refers to the object's updated time, which changes
926
+ # when the content or the metadata of the object is updated.
927
+ # Corresponds to the JSON property `gcsDataSink`
928
+ # @return [Google::Apis::StoragetransferV1::GcsData]
929
+ attr_accessor :gcs_data_sink
795
930
 
796
931
  def initialize(**args)
797
932
  update!(**args)
@@ -799,166 +934,113 @@ module Google
799
934
 
800
935
  # Update properties of this object
801
936
  def update!(**args)
802
- @operations = args[:operations] if args.key?(:operations)
803
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
937
+ @gcs_data_source = args[:gcs_data_source] if args.key?(:gcs_data_source)
938
+ @transfer_options = args[:transfer_options] if args.key?(:transfer_options)
939
+ @aws_s3_data_source = args[:aws_s3_data_source] if args.key?(:aws_s3_data_source)
940
+ @http_data_source = args[:http_data_source] if args.key?(:http_data_source)
941
+ @object_conditions = args[:object_conditions] if args.key?(:object_conditions)
942
+ @gcs_data_sink = args[:gcs_data_sink] if args.key?(:gcs_data_sink)
804
943
  end
805
944
  end
806
945
 
807
- # A description of the execution of a transfer.
808
- class TransferOperation
946
+ # Request passed to ResumeTransferOperation.
947
+ class ResumeTransferOperationRequest
809
948
  include Google::Apis::Core::Hashable
810
949
 
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
950
  def initialize(**args)
858
951
  update!(**args)
859
952
  end
860
953
 
861
954
  # Update properties of this object
862
955
  def update!(**args)
863
- @name = args[:name] if args.key?(:name)
864
- @project_id = args[:project_id] if args.key?(:project_id)
865
- @transfer_spec = args[:transfer_spec] if args.key?(:transfer_spec)
866
- @start_time = args[:start_time] if args.key?(:start_time)
867
- @end_time = args[:end_time] if args.key?(:end_time)
868
- @status = args[:status] if args.key?(:status)
869
- @counters = args[:counters] if args.key?(:counters)
870
- @error_breakdowns = args[:error_breakdowns] if args.key?(:error_breakdowns)
871
- @transfer_job_name = args[:transfer_job_name] if args.key?(:transfer_job_name)
872
956
  end
873
957
  end
874
958
 
875
- # A collection of counters that report the progress of a transfer operation.
876
- class TransferCounters
959
+ # The `Status` type defines a logical error model that is suitable for different
960
+ # programming environments, including REST APIs and RPC APIs. It is used by
961
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
962
+ # - Simple to use and understand for most users
963
+ # - Flexible enough to meet unexpected needs
964
+ # # Overview
965
+ # The `Status` message contains three pieces of data: error code, error message,
966
+ # and error details. The error code should be an enum value of
967
+ # google.rpc.Code, but it may accept additional error codes if needed. The
968
+ # error message should be a developer-facing English message that helps
969
+ # developers *understand* and *resolve* the error. If a localized user-facing
970
+ # error message is needed, put the localized message in the error details or
971
+ # localize it in the client. The optional error details may contain arbitrary
972
+ # information about the error. There is a predefined set of error detail types
973
+ # in the package `google.rpc` which can be used for common error conditions.
974
+ # # Language mapping
975
+ # The `Status` message is the logical representation of the error model, but it
976
+ # is not necessarily the actual wire format. When the `Status` message is
977
+ # exposed in different client libraries and different wire protocols, it can be
978
+ # mapped differently. For example, it will likely be mapped to some exceptions
979
+ # in Java, but more likely mapped to some error codes in C.
980
+ # # Other uses
981
+ # The error model and the `Status` message can be used in a variety of
982
+ # environments, either with or without APIs, to provide a
983
+ # consistent developer experience across different environments.
984
+ # Example uses of this error model include:
985
+ # - Partial errors. If a service needs to return partial errors to the client,
986
+ # it may embed the `Status` in the normal response to indicate the partial
987
+ # errors.
988
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
989
+ # have a `Status` message for error reporting purpose.
990
+ # - Batch operations. If a client uses batch request and batch response, the
991
+ # `Status` message should be used directly inside batch response, one for
992
+ # each error sub-response.
993
+ # - Asynchronous operations. If an API call embeds asynchronous operation
994
+ # results in its response, the status of those operations should be
995
+ # represented directly using the `Status` message.
996
+ # - Logging. If some API errors are stored in logs, the message `Status` could
997
+ # be used directly after any stripping needed for security/privacy reasons.
998
+ class Status
877
999
  include Google::Apis::Core::Hashable
878
1000
 
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
1001
+ # The status code, which should be an enum value of google.rpc.Code.
1002
+ # Corresponds to the JSON property `code`
1003
+ # @return [Fixnum]
1004
+ attr_accessor :code
927
1005
 
928
- # Bytes that are deleted from the data source.
929
- # Corresponds to the JSON property `bytesDeletedFromSource`
1006
+ # A developer-facing error message, which should be in English. Any
1007
+ # user-facing error message should be localized and sent in the
1008
+ # google.rpc.Status.details field, or localized by the client.
1009
+ # Corresponds to the JSON property `message`
930
1010
  # @return [String]
931
- attr_accessor :bytes_deleted_from_source
1011
+ attr_accessor :message
932
1012
 
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
1013
+ # A list of messages that carry the error details. There will be a
1014
+ # common set of message types for APIs to use.
1015
+ # Corresponds to the JSON property `details`
1016
+ # @return [Array<Hash<String,Object>>]
1017
+ attr_accessor :details
937
1018
 
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
1019
+ def initialize(**args)
1020
+ update!(**args)
1021
+ end
942
1022
 
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
1023
+ # Update properties of this object
1024
+ def update!(**args)
1025
+ @code = args[:code] if args.key?(:code)
1026
+ @message = args[:message] if args.key?(:message)
1027
+ @details = args[:details] if args.key?(:details)
1028
+ end
1029
+ end
947
1030
 
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
1031
+ # The response message for Operations.ListOperations.
1032
+ class ListOperationsResponse
1033
+ include Google::Apis::Core::Hashable
952
1034
 
953
- # Objects that failed to be deleted from the data sink.
954
- # Corresponds to the JSON property `objectsFailedToDeleteFromSink`
1035
+ # The standard List next-page token.
1036
+ # Corresponds to the JSON property `nextPageToken`
955
1037
  # @return [String]
956
- attr_accessor :objects_failed_to_delete_from_sink
1038
+ attr_accessor :next_page_token
957
1039
 
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
1040
+ # A list of operations that matches the specified filter in the request.
1041
+ # Corresponds to the JSON property `operations`
1042
+ # @return [Array<Google::Apis::StoragetransferV1::Operation>]
1043
+ attr_accessor :operations
962
1044
 
963
1045
  def initialize(**args)
964
1046
  update!(**args)
@@ -966,43 +1048,19 @@ module Google
966
1048
 
967
1049
  # Update properties of this object
968
1050
  def update!(**args)
969
- @objects_found_from_source = args[:objects_found_from_source] if args.key?(:objects_found_from_source)
970
- @bytes_found_from_source = args[:bytes_found_from_source] if args.key?(:bytes_found_from_source)
971
- @objects_found_only_from_sink = args[:objects_found_only_from_sink] if args.key?(:objects_found_only_from_sink)
972
- @bytes_found_only_from_sink = args[:bytes_found_only_from_sink] if args.key?(:bytes_found_only_from_sink)
973
- @objects_from_source_skipped_by_sync = args[:objects_from_source_skipped_by_sync] if args.key?(:objects_from_source_skipped_by_sync)
974
- @bytes_from_source_skipped_by_sync = args[:bytes_from_source_skipped_by_sync] if args.key?(:bytes_from_source_skipped_by_sync)
975
- @objects_copied_to_sink = args[:objects_copied_to_sink] if args.key?(:objects_copied_to_sink)
976
- @bytes_copied_to_sink = args[:bytes_copied_to_sink] if args.key?(:bytes_copied_to_sink)
977
- @objects_deleted_from_source = args[:objects_deleted_from_source] if args.key?(:objects_deleted_from_source)
978
- @bytes_deleted_from_source = args[:bytes_deleted_from_source] if args.key?(:bytes_deleted_from_source)
979
- @objects_deleted_from_sink = args[:objects_deleted_from_sink] if args.key?(:objects_deleted_from_sink)
980
- @bytes_deleted_from_sink = args[:bytes_deleted_from_sink] if args.key?(:bytes_deleted_from_sink)
981
- @objects_from_source_failed = args[:objects_from_source_failed] if args.key?(:objects_from_source_failed)
982
- @bytes_from_source_failed = args[:bytes_from_source_failed] if args.key?(:bytes_from_source_failed)
983
- @objects_failed_to_delete_from_sink = args[:objects_failed_to_delete_from_sink] if args.key?(:objects_failed_to_delete_from_sink)
984
- @bytes_failed_to_delete_from_sink = args[:bytes_failed_to_delete_from_sink] if args.key?(:bytes_failed_to_delete_from_sink)
1051
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1052
+ @operations = args[:operations] if args.key?(:operations)
985
1053
  end
986
1054
  end
987
1055
 
988
- # A summary of errors by error code, plus a count and sample error log entries.
989
- class ErrorSummary
1056
+ # Google service account
1057
+ class GoogleServiceAccount
990
1058
  include Google::Apis::Core::Hashable
991
1059
 
992
1060
  # 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`
1061
+ # Corresponds to the JSON property `accountEmail`
999
1062
  # @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
1063
+ attr_accessor :account_email
1006
1064
 
1007
1065
  def initialize(**args)
1008
1066
  update!(**args)
@@ -1010,26 +1068,37 @@ module Google
1010
1068
 
1011
1069
  # Update properties of this object
1012
1070
  def update!(**args)
1013
- @error_code = args[:error_code] if args.key?(:error_code)
1014
- @error_count = args[:error_count] if args.key?(:error_count)
1015
- @error_log_entries = args[:error_log_entries] if args.key?(:error_log_entries)
1071
+ @account_email = args[:account_email] if args.key?(:account_email)
1016
1072
  end
1017
1073
  end
1018
1074
 
1019
- # An entry describing an error that has occurred.
1020
- class ErrorLogEntry
1075
+ # Represents a time of day. The date and time zone are either not significant
1076
+ # or are specified elsewhere. An API may choose to allow leap seconds. Related
1077
+ # types are google.type.Date and `google.protobuf.Timestamp`.
1078
+ class TimeOfDay
1021
1079
  include Google::Apis::Core::Hashable
1022
1080
 
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
1081
+ # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
1082
+ # to allow the value "24:00:00" for scenarios like business closing time.
1083
+ # Corresponds to the JSON property `hours`
1084
+ # @return [Fixnum]
1085
+ attr_accessor :hours
1028
1086
 
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
1087
+ # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
1088
+ # Corresponds to the JSON property `nanos`
1089
+ # @return [Fixnum]
1090
+ attr_accessor :nanos
1091
+
1092
+ # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
1093
+ # allow the value 60 if it allows leap-seconds.
1094
+ # Corresponds to the JSON property `seconds`
1095
+ # @return [Fixnum]
1096
+ attr_accessor :seconds
1097
+
1098
+ # Minutes of hour of day. Must be from 0 to 59.
1099
+ # Corresponds to the JSON property `minutes`
1100
+ # @return [Fixnum]
1101
+ attr_accessor :minutes
1033
1102
 
1034
1103
  def initialize(**args)
1035
1104
  update!(**args)
@@ -1037,8 +1106,10 @@ module Google
1037
1106
 
1038
1107
  # Update properties of this object
1039
1108
  def update!(**args)
1040
- @url = args[:url] if args.key?(:url)
1041
- @error_details = args[:error_details] if args.key?(:error_details)
1109
+ @hours = args[:hours] if args.key?(:hours)
1110
+ @nanos = args[:nanos] if args.key?(:nanos)
1111
+ @seconds = args[:seconds] if args.key?(:seconds)
1112
+ @minutes = args[:minutes] if args.key?(:minutes)
1042
1113
  end
1043
1114
  end
1044
1115
  end