@@ -385,6 +385,27 @@ def update!(**args)
385385 end
386386 end
387387
388+ # Options customizing EventDriven transfers schedule.
389+ class EventDrivenSchedule
390+ include Google ::Apis ::Core ::Hashable
391+
392+ # Pub/Sub subscription name used to receive events. Only Google Cloud Storage
393+ # data source support this option. Format: projects/`project`/subscriptions/`
394+ # subscription`
395+ # Corresponds to the JSON property `pubsubSubscription`
396+ # @return [String]
397+ attr_accessor :pubsub_subscription
398+
399+ def initialize ( **args )
400+ update! ( **args )
401+ end
402+
403+ # Update properties of this object
404+ def update! ( **args )
405+ @pubsub_subscription = args [ :pubsub_subscription ] if args . key? ( :pubsub_subscription )
406+ end
407+ end
408+
388409 # Returns list of supported data sources and their metadata.
389410 class ListDataSourcesResponse
390411 include Google ::Apis ::Core ::Hashable
@@ -565,6 +586,19 @@ def update!(**args)
565586 end
566587 end
567588
589+ # Options customizing manual transfers schedule.
590+ class ManualSchedule
591+ include Google ::Apis ::Core ::Hashable
592+
593+ def initialize ( **args )
594+ update! ( **args )
595+ end
596+
597+ # Update properties of this object
598+ def update! ( **args )
599+ end
600+ end
601+
568602 # Options customizing the data transfer schedule.
569603 class ScheduleOptions
570604 include Google ::Apis ::Core ::Hashable
@@ -606,6 +640,41 @@ def update!(**args)
606640 end
607641 end
608642
643+ # V2 options customizing different types of data transfer schedule. This field
644+ # supports existing time-based and manual transfer schedule. Also supports Event-
645+ # Driven transfer schedule. ScheduleOptionsV2 cannot be used together with
646+ # ScheduleOptions/Schedule.
647+ class ScheduleOptionsV2
648+ include Google ::Apis ::Core ::Hashable
649+
650+ # Options customizing EventDriven transfers schedule.
651+ # Corresponds to the JSON property `eventDrivenSchedule`
652+ # @return [Google::Apis::BigquerydatatransferV1::EventDrivenSchedule]
653+ attr_accessor :event_driven_schedule
654+
655+ # Options customizing manual transfers schedule.
656+ # Corresponds to the JSON property `manualSchedule`
657+ # @return [Google::Apis::BigquerydatatransferV1::ManualSchedule]
658+ attr_accessor :manual_schedule
659+
660+ # Options customizing the time based transfer schedule. Options are migrated
661+ # from the original ScheduleOptions message.
662+ # Corresponds to the JSON property `timeBasedSchedule`
663+ # @return [Google::Apis::BigquerydatatransferV1::TimeBasedSchedule]
664+ attr_accessor :time_based_schedule
665+
666+ def initialize ( **args )
667+ update! ( **args )
668+ end
669+
670+ # Update properties of this object
671+ def update! ( **args )
672+ @event_driven_schedule = args [ :event_driven_schedule ] if args . key? ( :event_driven_schedule )
673+ @manual_schedule = args [ :manual_schedule ] if args . key? ( :manual_schedule )
674+ @time_based_schedule = args [ :time_based_schedule ] if args . key? ( :time_based_schedule )
675+ end
676+ end
677+
609678 # A request to schedule transfer runs for a time range.
610679 class ScheduleTransferRunsRequest
611680 include Google ::Apis ::Core ::Hashable
@@ -738,6 +807,49 @@ def update!(**args)
738807 end
739808 end
740809
810+ # Options customizing the time based transfer schedule. Options are migrated
811+ # from the original ScheduleOptions message.
812+ class TimeBasedSchedule
813+ include Google ::Apis ::Core ::Hashable
814+
815+ # Defines time to stop scheduling transfer runs. A transfer run cannot be
816+ # scheduled at or after the end time. The end time can be changed at any moment.
817+ # Corresponds to the JSON property `endTime`
818+ # @return [String]
819+ attr_accessor :end_time
820+
821+ # Data transfer schedule. If the data source does not support a custom schedule,
822+ # this should be empty. If it is empty, the default value for the data source
823+ # will be used. The specified times are in UTC. Examples of valid format: `1st,
824+ # 3rd monday of month 15:30`, `every wed,fri of jan,jun 13:15`, and `first
825+ # sunday of quarter 00:00`. See more explanation about the format here: https://
826+ # cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#
827+ # the_schedule_format NOTE: The minimum interval time between recurring
828+ # transfers depends on the data source; refer to the documentation for your data
829+ # source.
830+ # Corresponds to the JSON property `schedule`
831+ # @return [String]
832+ attr_accessor :schedule
833+
834+ # Specifies time to start scheduling transfer runs. The first run will be
835+ # scheduled at or after the start time according to a recurrence pattern defined
836+ # in the schedule string. The start time can be changed at any moment.
837+ # Corresponds to the JSON property `startTime`
838+ # @return [String]
839+ attr_accessor :start_time
840+
841+ def initialize ( **args )
842+ update! ( **args )
843+ end
844+
845+ # Update properties of this object
846+ def update! ( **args )
847+ @end_time = args [ :end_time ] if args . key? ( :end_time )
848+ @schedule = args [ :schedule ] if args . key? ( :schedule )
849+ @start_time = args [ :start_time ] if args . key? ( :start_time )
850+ end
851+ end
852+
741853 # A specification for a time range, this will request transfer runs with
742854 # run_time between start_time (inclusive) and end_time (exclusive).
743855 class TimeRange
@@ -828,6 +940,16 @@ class TransferConfig
828940 # @return [Google::Apis::BigquerydatatransferV1::EncryptionConfiguration]
829941 attr_accessor :encryption_configuration
830942
943+ # The `Status` type defines a logical error model that is suitable for different
944+ # programming environments, including REST APIs and RPC APIs. It is used by [
945+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
946+ # data: error code, error message, and error details. You can find out more
947+ # about this error model and how to work with it in the [API Design Guide](https:
948+ # //cloud.google.com/apis/design/errors).
949+ # Corresponds to the JSON property `error`
950+ # @return [Google::Apis::BigquerydatatransferV1::Status]
951+ attr_accessor :error
952+
831953 # Identifier. The resource name of the transfer config. Transfer config names
832954 # have the form either `projects/`project_id`/locations/`region`/transferConfigs/
833955 # `config_id`` or `projects/`project_id`/transferConfigs/`config_id``, where `
@@ -880,6 +1002,14 @@ class TransferConfig
8801002 # @return [Google::Apis::BigquerydatatransferV1::ScheduleOptions]
8811003 attr_accessor :schedule_options
8821004
1005+ # V2 options customizing different types of data transfer schedule. This field
1006+ # supports existing time-based and manual transfer schedule. Also supports Event-
1007+ # Driven transfer schedule. ScheduleOptionsV2 cannot be used together with
1008+ # ScheduleOptions/Schedule.
1009+ # Corresponds to the JSON property `scheduleOptionsV2`
1010+ # @return [Google::Apis::BigquerydatatransferV1::ScheduleOptionsV2]
1011+ attr_accessor :schedule_options_v2
1012+
8831013 # Output only. State of the most recently updated transfer run.
8841014 # Corresponds to the JSON property `state`
8851015 # @return [String]
@@ -909,13 +1039,15 @@ def update!(**args)
9091039 @display_name = args [ :display_name ] if args . key? ( :display_name )
9101040 @email_preferences = args [ :email_preferences ] if args . key? ( :email_preferences )
9111041 @encryption_configuration = args [ :encryption_configuration ] if args . key? ( :encryption_configuration )
1042+ @error = args [ :error ] if args . key? ( :error )
9121043 @name = args [ :name ] if args . key? ( :name )
9131044 @next_run_time = args [ :next_run_time ] if args . key? ( :next_run_time )
9141045 @notification_pubsub_topic = args [ :notification_pubsub_topic ] if args . key? ( :notification_pubsub_topic )
9151046 @owner_info = args [ :owner_info ] if args . key? ( :owner_info )
9161047 @params = args [ :params ] if args . key? ( :params )
9171048 @schedule = args [ :schedule ] if args . key? ( :schedule )
9181049 @schedule_options = args [ :schedule_options ] if args . key? ( :schedule_options )
1050+ @schedule_options_v2 = args [ :schedule_options_v2 ] if args . key? ( :schedule_options_v2 )
9191051 @state = args [ :state ] if args . key? ( :state )
9201052 @update_time = args [ :update_time ] if args . key? ( :update_time )
9211053 @user_id = args [ :user_id ] if args . key? ( :user_id )
0 commit comments