google-cloud-storage_transfer-v1 0.8.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -76,6 +76,13 @@ module Google
76
76
  # the `updated` property of Cloud Storage objects, the `LastModified` field
77
77
  # of S3 objects, and the `Last-Modified` header of Azure blobs.
78
78
  #
79
+ # For S3 objects, the `LastModified` value is the time the object begins
80
+ # uploading. If the object meets your "last modification time" criteria,
81
+ # but has not finished uploading, the object is not transferred. See
82
+ # [Transfer from Amazon S3 to Cloud
83
+ # Storage](https://cloud.google.com/storage-transfer/docs/create-transfers/agentless/s3#transfer_options)
84
+ # for more information.
85
+ #
79
86
  # Transfers with a {::Google::Cloud::StorageTransfer::V1::PosixFilesystem PosixFilesystem}
80
87
  # source or destination don't support `ObjectConditions`.
81
88
  # @!attribute [rw] min_time_elapsed_since_last_modification
@@ -206,6 +213,21 @@ module Google
206
213
  #
207
214
  # The root path value must meet
208
215
  # [Object Name Requirements](/storage/docs/naming#objectnames).
216
+ # @!attribute [rw] managed_folder_transfer_enabled
217
+ # @return [::Boolean]
218
+ # Preview. Enables the transfer of managed folders between Cloud Storage
219
+ # buckets. Set this option on the gcs_data_source.
220
+ #
221
+ # If set to true:
222
+ #
223
+ # - Managed folders in the source bucket are transferred to the
224
+ # destination bucket.
225
+ # - Managed folders in the destination bucket are overwritten. Other
226
+ # OVERWRITE options are not supported.
227
+ #
228
+ # See
229
+ # [Transfer Cloud Storage managed
230
+ # folders](/storage-transfer/docs/managed-folders).
209
231
  class GcsData
210
232
  include ::Google::Protobuf::MessageExts
211
233
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -245,27 +267,45 @@ module Google
245
267
  # the provided role using the
246
268
  # {::Google::Cloud::StorageTransfer::V1::GoogleServiceAccount GoogleServiceAccount} for
247
269
  # this project.
270
+ # @!attribute [rw] cloudfront_domain
271
+ # @return [::String]
272
+ # Optional. The CloudFront distribution domain name pointing to this bucket,
273
+ # to use when fetching.
274
+ #
275
+ # See
276
+ # [Transfer from S3 via
277
+ # CloudFront](https://cloud.google.com/storage-transfer/docs/s3-cloudfront)
278
+ # for more information.
279
+ #
280
+ # Format: `https://{id}.cloudfront.net` or any valid custom domain. Must
281
+ # begin with `https://`.
248
282
  # @!attribute [rw] credentials_secret
249
283
  # @return [::String]
250
284
  # Optional. The Resource name of a secret in Secret Manager.
251
285
  #
252
- # The Azure SAS token must be stored in Secret Manager in JSON format:
253
- # <pre>{
254
- # "sas_token" : "<var>SAS_TOKEN</var>"
255
- # }</pre>
286
+ # AWS credentials must be stored in Secret Manager in JSON format:
287
+ #
288
+ # {
289
+ # "access_key_id": "ACCESS_KEY_ID",
290
+ # "secret_access_key": "SECRET_ACCESS_KEY"
291
+ # }
292
+ #
256
293
  # {::Google::Cloud::StorageTransfer::V1::GoogleServiceAccount GoogleServiceAccount} must
257
294
  # be granted `roles/secretmanager.secretAccessor` for the resource.
258
295
  #
259
- # See [Configure access to a source: Microsoft Azure Blob Storage]
260
- # (https://cloud.google.com/storage-transfer/docs/source-microsoft-azure#secret_manager)
296
+ # See [Configure access to a source: Amazon S3]
297
+ # (https://cloud.google.com/storage-transfer/docs/source-amazon-s3#secret_manager)
261
298
  # for more information.
262
299
  #
263
- # If `credentials_secret` is specified, do not specify [azure_credentials][].
264
- #
265
- # This feature is in
266
- # [preview](https://cloud.google.com/terms/service-terms#1).
300
+ # If `credentials_secret` is specified, do not specify
301
+ # {::Google::Cloud::StorageTransfer::V1::AwsS3Data#role_arn role_arn} or
302
+ # {::Google::Cloud::StorageTransfer::V1::AwsS3Data#aws_access_key aws_access_key}.
267
303
  #
268
304
  # Format: `projects/{project_number}/secrets/{secret_name}`
305
+ # @!attribute [rw] managed_private_network
306
+ # @return [::Boolean]
307
+ # Egress bytes over a Google-managed private network.
308
+ # This network is shared between other users of Storage Transfer Service.
269
309
  class AwsS3Data
270
310
  include ::Google::Protobuf::MessageExts
271
311
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -303,9 +343,11 @@ module Google
303
343
  # Optional. The Resource name of a secret in Secret Manager.
304
344
  #
305
345
  # The Azure SAS token must be stored in Secret Manager in JSON format:
306
- # <pre>{
307
- # "sas_token" : "<var>SAS_TOKEN</var>"
308
- # }</pre>
346
+ #
347
+ # {
348
+ # "sas_token" : "SAS_TOKEN"
349
+ # }
350
+ #
309
351
  # {::Google::Cloud::StorageTransfer::V1::GoogleServiceAccount GoogleServiceAccount} must
310
352
  # be granted `roles/secretmanager.secretAccessor` for the resource.
311
353
  #
@@ -316,60 +358,89 @@ module Google
316
358
  # If `credentials_secret` is specified, do not specify
317
359
  # {::Google::Cloud::StorageTransfer::V1::AzureBlobStorageData#azure_credentials azure_credentials}.
318
360
  #
319
- # This feature is in
320
- # [preview](https://cloud.google.com/terms/service-terms#1).
321
- #
322
361
  # Format: `projects/{project_number}/secrets/{secret_name}`
362
+ # @!attribute [rw] federated_identity_config
363
+ # @return [::Google::Cloud::StorageTransfer::V1::AzureBlobStorageData::FederatedIdentityConfig]
364
+ # Optional. Federated identity config of a user registered Azure application.
365
+ #
366
+ # If `federated_identity_config` is specified, do not specify
367
+ # {::Google::Cloud::StorageTransfer::V1::AzureBlobStorageData#azure_credentials azure_credentials}
368
+ # or
369
+ # {::Google::Cloud::StorageTransfer::V1::AzureBlobStorageData#credentials_secret credentials_secret}.
323
370
  class AzureBlobStorageData
324
371
  include ::Google::Protobuf::MessageExts
325
372
  extend ::Google::Protobuf::MessageExts::ClassMethods
373
+
374
+ # The identity of an Azure application through which Storage Transfer Service
375
+ # can authenticate requests using Azure workload identity federation.
376
+ #
377
+ # Storage Transfer Service can issue requests to Azure Storage through
378
+ # registered Azure applications, eliminating the need to pass credentials to
379
+ # Storage Transfer Service directly.
380
+ #
381
+ # To configure federated identity, see
382
+ # [Configure access to Microsoft Azure
383
+ # Storage](https://cloud.google.com/storage-transfer/docs/source-microsoft-azure#option_3_authenticate_using_federated_identity).
384
+ # @!attribute [rw] client_id
385
+ # @return [::String]
386
+ # Required. The client (application) ID of the application with federated
387
+ # credentials.
388
+ # @!attribute [rw] tenant_id
389
+ # @return [::String]
390
+ # Required. The tenant (directory) ID of the application with federated
391
+ # credentials.
392
+ class FederatedIdentityConfig
393
+ include ::Google::Protobuf::MessageExts
394
+ extend ::Google::Protobuf::MessageExts::ClassMethods
395
+ end
326
396
  end
327
397
 
328
- # An HttpData resource specifies a list of objects on the web to be transferred
329
- # over HTTP. The information of the objects to be transferred is contained in
330
- # a file referenced by a URL. The first line in the file must be
331
- # `"TsvHttpData-1.0"`, which specifies the format of the file. Subsequent
332
- # lines specify the information of the list of objects, one object per list
333
- # entry. Each entry has the following tab-delimited fields:
398
+ # An HttpData resource specifies a list of objects on the web to be
399
+ # transferred over HTTP. The information of the objects to be transferred is
400
+ # contained in a file referenced by a URL. The first line in the file must be
401
+ # `"TsvHttpData-1.0"`, which specifies the format of the file. Subsequent
402
+ # lines specify the information of the list of objects, one object per list
403
+ # entry. Each entry has the following tab-delimited fields:
334
404
  #
335
- # * **HTTP URL** — The location of the object.
405
+ # * **HTTP URL** — The location of the object.
336
406
  #
337
- # * **Length** — The size of the object in bytes.
407
+ # * **Length** — The size of the object in bytes.
338
408
  #
339
- # * **MD5** — The base64-encoded MD5 hash of the object.
409
+ # * **MD5** — The base64-encoded MD5 hash of the object.
340
410
  #
341
- # For an example of a valid TSV file, see
342
- # [Transferring data from
343
- # URLs](https://cloud.google.com/storage-transfer/docs/create-url-list).
411
+ # For an example of a valid TSV file, see
412
+ # [Transferring data from
413
+ # URLs](https://cloud.google.com/storage-transfer/docs/create-url-list).
344
414
  #
345
- # When transferring data based on a URL list, keep the following in mind:
415
+ # When transferring data based on a URL list, keep the following in mind:
346
416
  #
347
417
  # * When an object located at `http(s)://hostname:port/<URL-path>` is
348
- # transferred to a data sink, the name of the object at the data sink is
418
+ # transferred to a data sink, the name of the object at the data sink is
349
419
  # `<hostname>/<URL-path>`.
350
420
  #
351
421
  # * If the specified size of an object does not match the actual size of the
352
- # object fetched, the object is not transferred.
422
+ # object fetched, the object is not transferred.
353
423
  #
354
424
  # * If the specified MD5 does not match the MD5 computed from the transferred
355
- # bytes, the object transfer fails.
425
+ # bytes, the object transfer fails.
356
426
  #
357
427
  # * Ensure that each URL you specify is publicly accessible. For
358
- # example, in Cloud Storage you can
359
- # [share an object publicly]
360
- # (/storage/docs/cloud-console#_sharingdata) and get a link to it.
428
+ # example, in Cloud Storage you can
429
+ # [share an object publicly]
430
+ # (/storage/docs/cloud-console#_sharingdata) and get a link to it.
361
431
  #
362
432
  # * Storage Transfer Service obeys `robots.txt` rules and requires the source
363
- # HTTP server to support `Range` requests and to return a `Content-Length`
364
- # header in each response.
433
+ # HTTP server to support `Range` requests and to return a `Content-Length`
434
+ # header in each response.
365
435
  #
366
436
  # * {::Google::Cloud::StorageTransfer::V1::ObjectConditions ObjectConditions} have no
367
437
  # effect when filtering objects to transfer.
368
438
  # @!attribute [rw] list_url
369
439
  # @return [::String]
370
440
  # Required. The URL that points to the file that stores the object list
371
- # entries. This file must allow public access. Currently, only URLs with
372
- # HTTP and HTTPS schemes are supported.
441
+ # entries. This file must allow public access. The URL is either an
442
+ # HTTP/HTTPS address (e.g. `https://example.com/urllist.tsv`) or a Cloud
443
+ # Storage path (e.g. `gs://my-bucket/urllist.tsv`).
373
444
  class HttpData
374
445
  include ::Google::Protobuf::MessageExts
375
446
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -384,6 +455,18 @@ module Google
384
455
  extend ::Google::Protobuf::MessageExts::ClassMethods
385
456
  end
386
457
 
458
+ # An HdfsData resource specifies a path within an HDFS entity (e.g. a cluster).
459
+ # All cluster-specific settings, such as namenodes and ports, are configured on
460
+ # the transfer agents servicing requests, so HdfsData only contains the root
461
+ # path to the data in our transfer.
462
+ # @!attribute [rw] path
463
+ # @return [::String]
464
+ # Root path to transfer files.
465
+ class HdfsData
466
+ include ::Google::Protobuf::MessageExts
467
+ extend ::Google::Protobuf::MessageExts::ClassMethods
468
+ end
469
+
387
470
  # An AwsS3CompatibleData resource.
388
471
  # @!attribute [rw] bucket_name
389
472
  # @return [::String]
@@ -487,7 +570,7 @@ module Google
487
570
  end
488
571
  end
489
572
 
490
- # Represents an On-Premises Agent pool.
573
+ # Represents an agent pool.
491
574
  # @!attribute [rw] name
492
575
  # @return [::String]
493
576
  # Required. Specifies a unique string that identifies the agent pool.
@@ -522,8 +605,8 @@ module Google
522
605
  # Default value. This value is unused.
523
606
  STATE_UNSPECIFIED = 0
524
607
 
525
- # This is an initialization state. During this stage, the resources such as
526
- # Pub/Sub topics are allocated for the AgentPool.
608
+ # This is an initialization state. During this stage, resources are
609
+ # allocated for the AgentPool.
527
610
  CREATING = 1
528
611
 
529
612
  # Determines that the AgentPool is created for use. At this state, Agents
@@ -540,7 +623,7 @@ module Google
540
623
  # @!attribute [rw] overwrite_objects_already_existing_in_sink
541
624
  # @return [::Boolean]
542
625
  # When to overwrite objects that already exist in the sink. The default is
543
- # that only objects that are different from the source are ovewritten. If
626
+ # that only objects that are different from the source are overwritten. If
544
627
  # true, all objects in the sink whose name matches an object in the source
545
628
  # are overwritten with the source object.
546
629
  # @!attribute [rw] delete_objects_unique_in_sink
@@ -594,27 +677,48 @@ module Google
594
677
  # @!attribute [rw] gcs_data_sink
595
678
  # @return [::Google::Cloud::StorageTransfer::V1::GcsData]
596
679
  # A Cloud Storage data sink.
680
+ #
681
+ # Note: The following fields are mutually exclusive: `gcs_data_sink`, `posix_data_sink`. If a field in that set is populated, all other fields in the set will automatically be cleared.
597
682
  # @!attribute [rw] posix_data_sink
598
683
  # @return [::Google::Cloud::StorageTransfer::V1::PosixFilesystem]
599
684
  # A POSIX Filesystem data sink.
685
+ #
686
+ # Note: The following fields are mutually exclusive: `posix_data_sink`, `gcs_data_sink`. If a field in that set is populated, all other fields in the set will automatically be cleared.
600
687
  # @!attribute [rw] gcs_data_source
601
688
  # @return [::Google::Cloud::StorageTransfer::V1::GcsData]
602
689
  # A Cloud Storage data source.
690
+ #
691
+ # Note: The following fields are mutually exclusive: `gcs_data_source`, `aws_s3_data_source`, `http_data_source`, `posix_data_source`, `azure_blob_storage_data_source`, `aws_s3_compatible_data_source`, `hdfs_data_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
603
692
  # @!attribute [rw] aws_s3_data_source
604
693
  # @return [::Google::Cloud::StorageTransfer::V1::AwsS3Data]
605
694
  # An AWS S3 data source.
695
+ #
696
+ # Note: The following fields are mutually exclusive: `aws_s3_data_source`, `gcs_data_source`, `http_data_source`, `posix_data_source`, `azure_blob_storage_data_source`, `aws_s3_compatible_data_source`, `hdfs_data_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
606
697
  # @!attribute [rw] http_data_source
607
698
  # @return [::Google::Cloud::StorageTransfer::V1::HttpData]
608
699
  # An HTTP URL data source.
700
+ #
701
+ # Note: The following fields are mutually exclusive: `http_data_source`, `gcs_data_source`, `aws_s3_data_source`, `posix_data_source`, `azure_blob_storage_data_source`, `aws_s3_compatible_data_source`, `hdfs_data_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
609
702
  # @!attribute [rw] posix_data_source
610
703
  # @return [::Google::Cloud::StorageTransfer::V1::PosixFilesystem]
611
704
  # A POSIX Filesystem data source.
705
+ #
706
+ # Note: The following fields are mutually exclusive: `posix_data_source`, `gcs_data_source`, `aws_s3_data_source`, `http_data_source`, `azure_blob_storage_data_source`, `aws_s3_compatible_data_source`, `hdfs_data_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
612
707
  # @!attribute [rw] azure_blob_storage_data_source
613
708
  # @return [::Google::Cloud::StorageTransfer::V1::AzureBlobStorageData]
614
709
  # An Azure Blob Storage data source.
710
+ #
711
+ # Note: The following fields are mutually exclusive: `azure_blob_storage_data_source`, `gcs_data_source`, `aws_s3_data_source`, `http_data_source`, `posix_data_source`, `aws_s3_compatible_data_source`, `hdfs_data_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
615
712
  # @!attribute [rw] aws_s3_compatible_data_source
616
713
  # @return [::Google::Cloud::StorageTransfer::V1::AwsS3CompatibleData]
617
714
  # An AWS S3 compatible data source.
715
+ #
716
+ # Note: The following fields are mutually exclusive: `aws_s3_compatible_data_source`, `gcs_data_source`, `aws_s3_data_source`, `http_data_source`, `posix_data_source`, `azure_blob_storage_data_source`, `hdfs_data_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
717
+ # @!attribute [rw] hdfs_data_source
718
+ # @return [::Google::Cloud::StorageTransfer::V1::HdfsData]
719
+ # An HDFS cluster data source.
720
+ #
721
+ # Note: The following fields are mutually exclusive: `hdfs_data_source`, `gcs_data_source`, `aws_s3_data_source`, `http_data_source`, `posix_data_source`, `azure_blob_storage_data_source`, `aws_s3_compatible_data_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
618
722
  # @!attribute [rw] gcs_intermediate_data_location
619
723
  # @return [::Google::Cloud::StorageTransfer::V1::GcsData]
620
724
  # For transfers between file systems, specifies a Cloud Storage bucket
@@ -653,6 +757,32 @@ module Google
653
757
  extend ::Google::Protobuf::MessageExts::ClassMethods
654
758
  end
655
759
 
760
+ # Specifies the configuration for a cross-bucket replication job. Cross-bucket
761
+ # replication copies new or updated objects from a source Cloud Storage bucket
762
+ # to a destination Cloud Storage bucket. Existing objects in the source bucket
763
+ # are not copied by a new cross-bucket replication job.
764
+ # @!attribute [rw] gcs_data_source
765
+ # @return [::Google::Cloud::StorageTransfer::V1::GcsData]
766
+ # The Cloud Storage bucket from which to replicate objects.
767
+ # @!attribute [rw] gcs_data_sink
768
+ # @return [::Google::Cloud::StorageTransfer::V1::GcsData]
769
+ # The Cloud Storage bucket to which to replicate objects.
770
+ # @!attribute [rw] object_conditions
771
+ # @return [::Google::Cloud::StorageTransfer::V1::ObjectConditions]
772
+ # Object conditions that determine which objects are transferred. For
773
+ # replication jobs, only `include_prefixes` and `exclude_prefixes` are
774
+ # supported.
775
+ # @!attribute [rw] transfer_options
776
+ # @return [::Google::Cloud::StorageTransfer::V1::TransferOptions]
777
+ # Specifies the metadata options to be applied during replication.
778
+ # Delete options are not supported. If a delete option is specified, the
779
+ # request fails with an {::Google::Rpc::Code::INVALID_ARGUMENT INVALID_ARGUMENT}
780
+ # error.
781
+ class ReplicationSpec
782
+ include ::Google::Protobuf::MessageExts
783
+ extend ::Google::Protobuf::MessageExts::ClassMethods
784
+ end
785
+
656
786
  # Specifies the metadata options for running a transfer.
657
787
  # @!attribute [rw] symlink
658
788
  # @return [::Google::Cloud::StorageTransfer::V1::MetadataOptions::Symlink]
@@ -699,9 +829,10 @@ module Google
699
829
  # @!attribute [rw] time_created
700
830
  # @return [::Google::Cloud::StorageTransfer::V1::MetadataOptions::TimeCreated]
701
831
  # Specifies how each object's `timeCreated` metadata is preserved for
702
- # transfers between Google Cloud Storage buckets. If unspecified, the
703
- # default behavior is the same as
832
+ # transfers. If unspecified, the default behavior is the same as
704
833
  # {::Google::Cloud::StorageTransfer::V1::MetadataOptions::TimeCreated::TIME_CREATED_SKIP TIME_CREATED_SKIP}.
834
+ # This behavior is supported for transfers to Cloud Storage buckets from
835
+ # Cloud Storage, Amazon S3, S3-compatible storage, and Azure sources.
705
836
  class MetadataOptions
706
837
  include ::Google::Protobuf::MessageExts
707
838
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -832,10 +963,10 @@ module Google
832
963
  # Do not preserve the `timeCreated` metadata from the source object.
833
964
  TIME_CREATED_SKIP = 1
834
965
 
835
- # Preserves the source object's `timeCreated` metadata in the `customTime`
836
- # field in the destination object. Note that any value stored in the
837
- # source object's `customTime` field will not be propagated to the
838
- # destination object.
966
+ # Preserves the source object's `timeCreated` or `lastModified` metadata in
967
+ # the `customTime` field in the destination object. Note that any value
968
+ # stored in the source object's `customTime` field will not be propagated
969
+ # to the destination object.
839
970
  TIME_CREATED_PRESERVE_AS_CUSTOM_TIME = 2
840
971
  end
841
972
  end
@@ -907,7 +1038,7 @@ module Google
907
1038
  # {::Google::Cloud::StorageTransfer::V1::Schedule#schedule_end_date schedule_end_date},
908
1039
  # `end_time_of_day` specifies the end date and time for starting new transfer
909
1040
  # operations. This field must be greater than or equal to the timestamp
910
- # corresponding to the combintation of
1041
+ # corresponding to the combination of
911
1042
  # {::Google::Cloud::StorageTransfer::V1::Schedule#schedule_start_date schedule_start_date}
912
1043
  # and
913
1044
  # {::Google::Cloud::StorageTransfer::V1::Schedule#start_time_of_day start_time_of_day},
@@ -988,13 +1119,32 @@ module Google
988
1119
  # @!attribute [rw] project_id
989
1120
  # @return [::String]
990
1121
  # The ID of the Google Cloud project that owns the job.
1122
+ # @!attribute [rw] service_account
1123
+ # @return [::String]
1124
+ # Optional. The user-managed service account to which to delegate service
1125
+ # agent permissions. You can grant Cloud Storage bucket permissions to this
1126
+ # service account instead of to the Transfer Service service agent.
1127
+ #
1128
+ # Format is
1129
+ # `projects/-/serviceAccounts/ACCOUNT_EMAIL_OR_UNIQUEID`
1130
+ #
1131
+ # Either the service account email
1132
+ # (`SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com`) or the unique
1133
+ # ID (`123456789012345678901`) are accepted in the string. The `-`
1134
+ # wildcard character is required; replacing it with a project ID is invalid.
1135
+ #
1136
+ # See
1137
+ # https://cloud.google.com//storage-transfer/docs/delegate-service-agent-permissions
1138
+ # for required permissions.
991
1139
  # @!attribute [rw] transfer_spec
992
1140
  # @return [::Google::Cloud::StorageTransfer::V1::TransferSpec]
993
1141
  # Transfer specification.
1142
+ # @!attribute [rw] replication_spec
1143
+ # @return [::Google::Cloud::StorageTransfer::V1::ReplicationSpec]
1144
+ # Replication specification.
994
1145
  # @!attribute [rw] notification_config
995
1146
  # @return [::Google::Cloud::StorageTransfer::V1::NotificationConfig]
996
- # Notification configuration. This is not supported for transfers involving
997
- # PosixFilesystem.
1147
+ # Notification configuration.
998
1148
  # @!attribute [rw] logging_config
999
1149
  # @return [::Google::Cloud::StorageTransfer::V1::LoggingConfig]
1000
1150
  # Logging configuration.
@@ -1255,32 +1405,25 @@ module Google
1255
1405
 
1256
1406
  # Specifies the logging behavior for transfer operations.
1257
1407
  #
1258
- # For cloud-to-cloud transfers, logs are sent to Cloud Logging. See
1408
+ # Logs can be sent to Cloud Logging for all transfer types. See
1259
1409
  # [Read transfer
1260
1410
  # logs](https://cloud.google.com/storage-transfer/docs/read-transfer-logs) for
1261
1411
  # details.
1262
- #
1263
- # For transfers to or from a POSIX file system, logs are stored in the
1264
- # Cloud Storage bucket that is the source or sink of the transfer.
1265
- # See [Managing Transfer for on-premises jobs]
1266
- # (https://cloud.google.com/storage-transfer/docs/managing-on-prem-jobs#viewing-logs)
1267
- # for details.
1268
1412
  # @!attribute [rw] log_actions
1269
1413
  # @return [::Array<::Google::Cloud::StorageTransfer::V1::LoggingConfig::LoggableAction>]
1270
1414
  # Specifies the actions to be logged. If empty, no logs are generated.
1271
- # Not supported for transfers with PosixFilesystem data sources; use
1272
- # {::Google::Cloud::StorageTransfer::V1::LoggingConfig#enable_onprem_gcs_transfer_logs enable_onprem_gcs_transfer_logs}
1273
- # instead.
1274
1415
  # @!attribute [rw] log_action_states
1275
1416
  # @return [::Array<::Google::Cloud::StorageTransfer::V1::LoggingConfig::LoggableActionState>]
1276
1417
  # States in which `log_actions` are logged. If empty, no logs are generated.
1277
- # Not supported for transfers with PosixFilesystem data sources; use
1278
- # {::Google::Cloud::StorageTransfer::V1::LoggingConfig#enable_onprem_gcs_transfer_logs enable_onprem_gcs_transfer_logs}
1279
- # instead.
1280
1418
  # @!attribute [rw] enable_onprem_gcs_transfer_logs
1281
1419
  # @return [::Boolean]
1282
- # For transfers with a PosixFilesystem source, this option enables the Cloud
1283
- # Storage transfer logs for this transfer.
1420
+ # For PosixFilesystem transfers, enables
1421
+ # [file system transfer
1422
+ # logs](https://cloud.google.com/storage-transfer/docs/on-prem-transfer-log-format)
1423
+ # instead of, or in addition to, Cloud Logging.
1424
+ #
1425
+ # This option ignores [LoggableAction] and [LoggableActionState]. If these
1426
+ # are set, Cloud Logging will also be enabled for this transfer.
1284
1427
  class LoggingConfig
1285
1428
  include ::Google::Protobuf::MessageExts
1286
1429
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1296,7 +1439,7 @@ module Google
1296
1439
  # Deleting objects at the source or the destination.
1297
1440
  DELETE = 2
1298
1441
 
1299
- # Copying objects to Google Cloud Storage.
1442
+ # Copying objects to the destination.
1300
1443
  COPY = 3
1301
1444
  end
1302
1445
 
@@ -1312,6 +1455,11 @@ module Google
1312
1455
  # `LoggableAction` terminated in an error state. `FAILED` actions are
1313
1456
  # logged as [ERROR][google.logging.type.LogSeverity.ERROR].
1314
1457
  FAILED = 2
1458
+
1459
+ # The `COPY` action was skipped for this file. Only supported for
1460
+ # agent-based transfers. `SKIPPED` actions are
1461
+ # logged as [INFO][google.logging.type.LogSeverity.INFO].
1462
+ SKIPPED = 3
1315
1463
  end
1316
1464
  end
1317
1465
 
@@ -24,14 +24,17 @@ module Google
24
24
  # date is relative to the Gregorian Calendar. This can represent one of the
25
25
  # following:
26
26
  #
27
- # * A full date, with non-zero year, month, and day values
28
- # * A month and day value, with a zero year, such as an anniversary
29
- # * A year on its own, with zero month and day values
30
- # * A year and month value, with a zero day, such as a credit card expiration
31
- # date
27
+ # * A full date, with non-zero year, month, and day values.
28
+ # * A month and day, with a zero year (for example, an anniversary).
29
+ # * A year on its own, with a zero month and a zero day.
30
+ # * A year and month, with a zero day (for example, a credit card expiration
31
+ # date).
32
32
  #
33
- # Related types are {::Google::Type::TimeOfDay google.type.TimeOfDay} and
34
- # `google.protobuf.Timestamp`.
33
+ # Related types:
34
+ #
35
+ # * {::Google::Type::TimeOfDay google.type.TimeOfDay}
36
+ # * [google.type.DateTime][google.type.DateTime]
37
+ # * {::Google::Protobuf::Timestamp google.protobuf.Timestamp}
35
38
  # @!attribute [rw] year
36
39
  # @return [::Integer]
37
40
  # Year of the date. Must be from 1 to 9999, or 0 to specify a date without
@@ -25,18 +25,22 @@ module Google
25
25
  # `google.protobuf.Timestamp`.
26
26
  # @!attribute [rw] hours
27
27
  # @return [::Integer]
28
- # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
29
- # to allow the value "24:00:00" for scenarios like business closing time.
28
+ # Hours of a day in 24 hour format. Must be greater than or equal to 0 and
29
+ # typically must be less than or equal to 23. An API may choose to allow the
30
+ # value "24:00:00" for scenarios like business closing time.
30
31
  # @!attribute [rw] minutes
31
32
  # @return [::Integer]
32
- # Minutes of hour of day. Must be from 0 to 59.
33
+ # Minutes of an hour. Must be greater than or equal to 0 and less than or
34
+ # equal to 59.
33
35
  # @!attribute [rw] seconds
34
36
  # @return [::Integer]
35
- # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
36
- # allow the value 60 if it allows leap-seconds.
37
+ # Seconds of a minute. Must be greater than or equal to 0 and typically must
38
+ # be less than or equal to 59. An API may allow the value 60 if it allows
39
+ # leap-seconds.
37
40
  # @!attribute [rw] nanos
38
41
  # @return [::Integer]
39
- # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
42
+ # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0
43
+ # and less than or equal to 999,999,999.
40
44
  class TimeOfDay
41
45
  include ::Google::Protobuf::MessageExts
42
46
  extend ::Google::Protobuf::MessageExts::ClassMethods