google-api-client 0.10.2 → 0.10.3

Sign up to get free protection for your applications and to get access to all the features.
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