diff --git a/packages/google-cloud-bigquery-datatransfer/README.md b/packages/google-cloud-bigquery-datatransfer/README.md index fb25eb68213..152e4a1a6c2 100644 --- a/packages/google-cloud-bigquery-datatransfer/README.md +++ b/packages/google-cloud-bigquery-datatransfer/README.md @@ -44,7 +44,7 @@ Google APIs Client Libraries, in [Client Libraries Explained][explained]. 1. [Select or create a Cloud Platform project][projects]. 1. [Enable billing for your project][billing]. 1. [Enable the Google BigQuery Data Transfer Service API][enable_api]. -1. [Set up authentication with a service account][auth] so you can access the +1. [Set up authentication][auth] so you can access the API from your local workstation. ### Installing the client library @@ -189,4 +189,4 @@ See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/LICENSE) [projects]: https://console.cloud.google.com/project [billing]: https://support.google.com/cloud/answer/6293499#enable-billing [enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=bigquerydatatransfer.googleapis.com -[auth]: https://cloud.google.com/docs/authentication/getting-started +[auth]: https://cloud.google.com/docs/authentication/external/set-up-adc-local diff --git a/packages/google-cloud-bigquery-datatransfer/protos/google/cloud/bigquery/datatransfer/v1/transfer.proto b/packages/google-cloud-bigquery-datatransfer/protos/google/cloud/bigquery/datatransfer/v1/transfer.proto index 2c31515d7ff..519ac8e6792 100644 --- a/packages/google-cloud-bigquery-datatransfer/protos/google/cloud/bigquery/datatransfer/v1/transfer.proto +++ b/packages/google-cloud-bigquery-datatransfer/protos/google/cloud/bigquery/datatransfer/v1/transfer.proto @@ -98,6 +98,70 @@ message ScheduleOptions { google.protobuf.Timestamp end_time = 2; } +// V2 options customizing different types of data transfer schedule. +// This field supports existing time-based and manual transfer schedule. Also +// supports Event-Driven transfer schedule. ScheduleOptionsV2 cannot be used +// together with ScheduleOptions/Schedule. +message ScheduleOptionsV2 { + // Data transfer schedules. + oneof schedule { + // Time based transfer schedule options. This is the default schedule + // option. + TimeBasedSchedule time_based_schedule = 1; + + // Manual transfer schedule. If set, the transfer run will not be + // auto-scheduled by the system, unless the client invokes + // StartManualTransferRuns. This is equivalent to + // disable_auto_scheduling = true. + ManualSchedule manual_schedule = 2; + + // Event driven transfer schedule options. If set, the transfer will be + // scheduled upon events arrial. + EventDrivenSchedule event_driven_schedule = 3; + } +} + +// Options customizing the time based transfer schedule. +// Options are migrated from the original ScheduleOptions message. +message TimeBasedSchedule { + // Data transfer schedule. + // If the data source does not support a custom schedule, this should be + // empty. If it is empty, the default value for the data source will be used. + // The specified times are in UTC. + // Examples of valid format: + // `1st,3rd monday of month 15:30`, + // `every wed,fri of jan,jun 13:15`, and + // `first sunday of quarter 00:00`. + // See more explanation about the format here: + // https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format + // + // NOTE: The minimum interval time between recurring transfers depends on the + // data source; refer to the documentation for your data source. + string schedule = 1; + + // Specifies time to start scheduling transfer runs. The first run will be + // scheduled at or after the start time according to a recurrence pattern + // defined in the schedule string. The start time can be changed at any + // moment. + google.protobuf.Timestamp start_time = 2; + + // Defines time to stop scheduling transfer runs. A transfer run cannot be + // scheduled at or after the end time. The end time can be changed at any + // moment. + google.protobuf.Timestamp end_time = 3; +} + +// Options customizing manual transfers schedule. +message ManualSchedule {} + +// Options customizing EventDriven transfers schedule. +message EventDrivenSchedule { + // Pub/Sub subscription name used to receive events. + // Only Google Cloud Storage data source support this option. + // Format: projects/{project}/subscriptions/{subscription} + string pubsub_subscription = 1; +} + // Information about a user. message UserInfo { // E-mail address of the user. @@ -164,6 +228,11 @@ message TransferConfig { // Options customizing the data transfer schedule. ScheduleOptions schedule_options = 24; + // Options customizing different types of data transfer schedule. + // This field replaces "schedule" and "schedule_options" fields. + // ScheduleOptionsV2 cannot be used together with ScheduleOptions/Schedule. + ScheduleOptionsV2 schedule_options_v2 = 31; + // The number of days to look back to automatically refresh the data. // For example, if `data_refresh_window_days = 10`, then every day // BigQuery reingests data for [today-10, today-1], rather than ingesting data @@ -215,6 +284,10 @@ message TransferConfig { // applied in effect. Write methods will apply the key if it is present, or // otherwise try to apply project default keys if it is absent. EncryptionConfiguration encryption_configuration = 28; + + // Output only. Error code with detailed information about reason of the + // latest config failure. + google.rpc.Status error = 32 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Represents the encryption configuration for a transfer. diff --git a/packages/google-cloud-bigquery-datatransfer/protos/protos.d.ts b/packages/google-cloud-bigquery-datatransfer/protos/protos.d.ts index 16da2f3b476..45ef7932efb 100644 --- a/packages/google-cloud-bigquery-datatransfer/protos/protos.d.ts +++ b/packages/google-cloud-bigquery-datatransfer/protos/protos.d.ts @@ -3560,6 +3560,415 @@ export namespace google { public static getTypeUrl(typeUrlPrefix?: string): string; } + /** Properties of a ScheduleOptionsV2. */ + interface IScheduleOptionsV2 { + + /** ScheduleOptionsV2 timeBasedSchedule */ + timeBasedSchedule?: (google.cloud.bigquery.datatransfer.v1.ITimeBasedSchedule|null); + + /** ScheduleOptionsV2 manualSchedule */ + manualSchedule?: (google.cloud.bigquery.datatransfer.v1.IManualSchedule|null); + + /** ScheduleOptionsV2 eventDrivenSchedule */ + eventDrivenSchedule?: (google.cloud.bigquery.datatransfer.v1.IEventDrivenSchedule|null); + } + + /** Represents a ScheduleOptionsV2. */ + class ScheduleOptionsV2 implements IScheduleOptionsV2 { + + /** + * Constructs a new ScheduleOptionsV2. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.bigquery.datatransfer.v1.IScheduleOptionsV2); + + /** ScheduleOptionsV2 timeBasedSchedule. */ + public timeBasedSchedule?: (google.cloud.bigquery.datatransfer.v1.ITimeBasedSchedule|null); + + /** ScheduleOptionsV2 manualSchedule. */ + public manualSchedule?: (google.cloud.bigquery.datatransfer.v1.IManualSchedule|null); + + /** ScheduleOptionsV2 eventDrivenSchedule. */ + public eventDrivenSchedule?: (google.cloud.bigquery.datatransfer.v1.IEventDrivenSchedule|null); + + /** ScheduleOptionsV2 schedule. */ + public schedule?: ("timeBasedSchedule"|"manualSchedule"|"eventDrivenSchedule"); + + /** + * Creates a new ScheduleOptionsV2 instance using the specified properties. + * @param [properties] Properties to set + * @returns ScheduleOptionsV2 instance + */ + public static create(properties?: google.cloud.bigquery.datatransfer.v1.IScheduleOptionsV2): google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2; + + /** + * Encodes the specified ScheduleOptionsV2 message. Does not implicitly {@link google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2.verify|verify} messages. + * @param message ScheduleOptionsV2 message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.bigquery.datatransfer.v1.IScheduleOptionsV2, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ScheduleOptionsV2 message, length delimited. Does not implicitly {@link google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2.verify|verify} messages. + * @param message ScheduleOptionsV2 message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.bigquery.datatransfer.v1.IScheduleOptionsV2, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ScheduleOptionsV2 message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ScheduleOptionsV2 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2; + + /** + * Decodes a ScheduleOptionsV2 message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ScheduleOptionsV2 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2; + + /** + * Verifies a ScheduleOptionsV2 message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ScheduleOptionsV2 message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ScheduleOptionsV2 + */ + public static fromObject(object: { [k: string]: any }): google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2; + + /** + * Creates a plain object from a ScheduleOptionsV2 message. Also converts values to other types if specified. + * @param message ScheduleOptionsV2 + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ScheduleOptionsV2 to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ScheduleOptionsV2 + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a TimeBasedSchedule. */ + interface ITimeBasedSchedule { + + /** TimeBasedSchedule schedule */ + schedule?: (string|null); + + /** TimeBasedSchedule startTime */ + startTime?: (google.protobuf.ITimestamp|null); + + /** TimeBasedSchedule endTime */ + endTime?: (google.protobuf.ITimestamp|null); + } + + /** Represents a TimeBasedSchedule. */ + class TimeBasedSchedule implements ITimeBasedSchedule { + + /** + * Constructs a new TimeBasedSchedule. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.bigquery.datatransfer.v1.ITimeBasedSchedule); + + /** TimeBasedSchedule schedule. */ + public schedule: string; + + /** TimeBasedSchedule startTime. */ + public startTime?: (google.protobuf.ITimestamp|null); + + /** TimeBasedSchedule endTime. */ + public endTime?: (google.protobuf.ITimestamp|null); + + /** + * Creates a new TimeBasedSchedule instance using the specified properties. + * @param [properties] Properties to set + * @returns TimeBasedSchedule instance + */ + public static create(properties?: google.cloud.bigquery.datatransfer.v1.ITimeBasedSchedule): google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule; + + /** + * Encodes the specified TimeBasedSchedule message. Does not implicitly {@link google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule.verify|verify} messages. + * @param message TimeBasedSchedule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.bigquery.datatransfer.v1.ITimeBasedSchedule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TimeBasedSchedule message, length delimited. Does not implicitly {@link google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule.verify|verify} messages. + * @param message TimeBasedSchedule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.bigquery.datatransfer.v1.ITimeBasedSchedule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TimeBasedSchedule message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TimeBasedSchedule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule; + + /** + * Decodes a TimeBasedSchedule message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TimeBasedSchedule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule; + + /** + * Verifies a TimeBasedSchedule message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TimeBasedSchedule message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TimeBasedSchedule + */ + public static fromObject(object: { [k: string]: any }): google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule; + + /** + * Creates a plain object from a TimeBasedSchedule message. Also converts values to other types if specified. + * @param message TimeBasedSchedule + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TimeBasedSchedule to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TimeBasedSchedule + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ManualSchedule. */ + interface IManualSchedule { + } + + /** Represents a ManualSchedule. */ + class ManualSchedule implements IManualSchedule { + + /** + * Constructs a new ManualSchedule. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.bigquery.datatransfer.v1.IManualSchedule); + + /** + * Creates a new ManualSchedule instance using the specified properties. + * @param [properties] Properties to set + * @returns ManualSchedule instance + */ + public static create(properties?: google.cloud.bigquery.datatransfer.v1.IManualSchedule): google.cloud.bigquery.datatransfer.v1.ManualSchedule; + + /** + * Encodes the specified ManualSchedule message. Does not implicitly {@link google.cloud.bigquery.datatransfer.v1.ManualSchedule.verify|verify} messages. + * @param message ManualSchedule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.bigquery.datatransfer.v1.IManualSchedule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ManualSchedule message, length delimited. Does not implicitly {@link google.cloud.bigquery.datatransfer.v1.ManualSchedule.verify|verify} messages. + * @param message ManualSchedule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.bigquery.datatransfer.v1.IManualSchedule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ManualSchedule message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ManualSchedule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.bigquery.datatransfer.v1.ManualSchedule; + + /** + * Decodes a ManualSchedule message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ManualSchedule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.bigquery.datatransfer.v1.ManualSchedule; + + /** + * Verifies a ManualSchedule message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ManualSchedule message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ManualSchedule + */ + public static fromObject(object: { [k: string]: any }): google.cloud.bigquery.datatransfer.v1.ManualSchedule; + + /** + * Creates a plain object from a ManualSchedule message. Also converts values to other types if specified. + * @param message ManualSchedule + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.bigquery.datatransfer.v1.ManualSchedule, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ManualSchedule to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ManualSchedule + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an EventDrivenSchedule. */ + interface IEventDrivenSchedule { + + /** EventDrivenSchedule pubsubSubscription */ + pubsubSubscription?: (string|null); + } + + /** Represents an EventDrivenSchedule. */ + class EventDrivenSchedule implements IEventDrivenSchedule { + + /** + * Constructs a new EventDrivenSchedule. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.bigquery.datatransfer.v1.IEventDrivenSchedule); + + /** EventDrivenSchedule pubsubSubscription. */ + public pubsubSubscription: string; + + /** + * Creates a new EventDrivenSchedule instance using the specified properties. + * @param [properties] Properties to set + * @returns EventDrivenSchedule instance + */ + public static create(properties?: google.cloud.bigquery.datatransfer.v1.IEventDrivenSchedule): google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule; + + /** + * Encodes the specified EventDrivenSchedule message. Does not implicitly {@link google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule.verify|verify} messages. + * @param message EventDrivenSchedule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.bigquery.datatransfer.v1.IEventDrivenSchedule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EventDrivenSchedule message, length delimited. Does not implicitly {@link google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule.verify|verify} messages. + * @param message EventDrivenSchedule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.bigquery.datatransfer.v1.IEventDrivenSchedule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EventDrivenSchedule message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EventDrivenSchedule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule; + + /** + * Decodes an EventDrivenSchedule message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EventDrivenSchedule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule; + + /** + * Verifies an EventDrivenSchedule message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EventDrivenSchedule message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EventDrivenSchedule + */ + public static fromObject(object: { [k: string]: any }): google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule; + + /** + * Creates a plain object from an EventDrivenSchedule message. Also converts values to other types if specified. + * @param message EventDrivenSchedule + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EventDrivenSchedule to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EventDrivenSchedule + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + /** Properties of a UserInfo. */ interface IUserInfo { @@ -3684,6 +4093,9 @@ export namespace google { /** TransferConfig scheduleOptions */ scheduleOptions?: (google.cloud.bigquery.datatransfer.v1.IScheduleOptions|null); + /** TransferConfig scheduleOptionsV2 */ + scheduleOptionsV2?: (google.cloud.bigquery.datatransfer.v1.IScheduleOptionsV2|null); + /** TransferConfig dataRefreshWindowDays */ dataRefreshWindowDays?: (number|null); @@ -3716,6 +4128,9 @@ export namespace google { /** TransferConfig encryptionConfiguration */ encryptionConfiguration?: (google.cloud.bigquery.datatransfer.v1.IEncryptionConfiguration|null); + + /** TransferConfig error */ + error?: (google.rpc.IStatus|null); } /** Represents a TransferConfig. */ @@ -3748,6 +4163,9 @@ export namespace google { /** TransferConfig scheduleOptions. */ public scheduleOptions?: (google.cloud.bigquery.datatransfer.v1.IScheduleOptions|null); + /** TransferConfig scheduleOptionsV2. */ + public scheduleOptionsV2?: (google.cloud.bigquery.datatransfer.v1.IScheduleOptionsV2|null); + /** TransferConfig dataRefreshWindowDays. */ public dataRefreshWindowDays: number; @@ -3781,6 +4199,9 @@ export namespace google { /** TransferConfig encryptionConfiguration. */ public encryptionConfiguration?: (google.cloud.bigquery.datatransfer.v1.IEncryptionConfiguration|null); + /** TransferConfig error. */ + public error?: (google.rpc.IStatus|null); + /** TransferConfig destination. */ public destination?: "destinationDatasetId"; diff --git a/packages/google-cloud-bigquery-datatransfer/protos/protos.js b/packages/google-cloud-bigquery-datatransfer/protos/protos.js index f31853f4d19..10616ce47b0 100644 --- a/packages/google-cloud-bigquery-datatransfer/protos/protos.js +++ b/packages/google-cloud-bigquery-datatransfer/protos/protos.js @@ -8559,6 +8559,941 @@ return ScheduleOptions; })(); + v1.ScheduleOptionsV2 = (function() { + + /** + * Properties of a ScheduleOptionsV2. + * @memberof google.cloud.bigquery.datatransfer.v1 + * @interface IScheduleOptionsV2 + * @property {google.cloud.bigquery.datatransfer.v1.ITimeBasedSchedule|null} [timeBasedSchedule] ScheduleOptionsV2 timeBasedSchedule + * @property {google.cloud.bigquery.datatransfer.v1.IManualSchedule|null} [manualSchedule] ScheduleOptionsV2 manualSchedule + * @property {google.cloud.bigquery.datatransfer.v1.IEventDrivenSchedule|null} [eventDrivenSchedule] ScheduleOptionsV2 eventDrivenSchedule + */ + + /** + * Constructs a new ScheduleOptionsV2. + * @memberof google.cloud.bigquery.datatransfer.v1 + * @classdesc Represents a ScheduleOptionsV2. + * @implements IScheduleOptionsV2 + * @constructor + * @param {google.cloud.bigquery.datatransfer.v1.IScheduleOptionsV2=} [properties] Properties to set + */ + function ScheduleOptionsV2(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ScheduleOptionsV2 timeBasedSchedule. + * @member {google.cloud.bigquery.datatransfer.v1.ITimeBasedSchedule|null|undefined} timeBasedSchedule + * @memberof google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2 + * @instance + */ + ScheduleOptionsV2.prototype.timeBasedSchedule = null; + + /** + * ScheduleOptionsV2 manualSchedule. + * @member {google.cloud.bigquery.datatransfer.v1.IManualSchedule|null|undefined} manualSchedule + * @memberof google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2 + * @instance + */ + ScheduleOptionsV2.prototype.manualSchedule = null; + + /** + * ScheduleOptionsV2 eventDrivenSchedule. + * @member {google.cloud.bigquery.datatransfer.v1.IEventDrivenSchedule|null|undefined} eventDrivenSchedule + * @memberof google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2 + * @instance + */ + ScheduleOptionsV2.prototype.eventDrivenSchedule = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * ScheduleOptionsV2 schedule. + * @member {"timeBasedSchedule"|"manualSchedule"|"eventDrivenSchedule"|undefined} schedule + * @memberof google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2 + * @instance + */ + Object.defineProperty(ScheduleOptionsV2.prototype, "schedule", { + get: $util.oneOfGetter($oneOfFields = ["timeBasedSchedule", "manualSchedule", "eventDrivenSchedule"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new ScheduleOptionsV2 instance using the specified properties. + * @function create + * @memberof google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2 + * @static + * @param {google.cloud.bigquery.datatransfer.v1.IScheduleOptionsV2=} [properties] Properties to set + * @returns {google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2} ScheduleOptionsV2 instance + */ + ScheduleOptionsV2.create = function create(properties) { + return new ScheduleOptionsV2(properties); + }; + + /** + * Encodes the specified ScheduleOptionsV2 message. Does not implicitly {@link google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2.verify|verify} messages. + * @function encode + * @memberof google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2 + * @static + * @param {google.cloud.bigquery.datatransfer.v1.IScheduleOptionsV2} message ScheduleOptionsV2 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ScheduleOptionsV2.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.timeBasedSchedule != null && Object.hasOwnProperty.call(message, "timeBasedSchedule")) + $root.google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule.encode(message.timeBasedSchedule, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.manualSchedule != null && Object.hasOwnProperty.call(message, "manualSchedule")) + $root.google.cloud.bigquery.datatransfer.v1.ManualSchedule.encode(message.manualSchedule, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.eventDrivenSchedule != null && Object.hasOwnProperty.call(message, "eventDrivenSchedule")) + $root.google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule.encode(message.eventDrivenSchedule, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ScheduleOptionsV2 message, length delimited. Does not implicitly {@link google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2 + * @static + * @param {google.cloud.bigquery.datatransfer.v1.IScheduleOptionsV2} message ScheduleOptionsV2 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ScheduleOptionsV2.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ScheduleOptionsV2 message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2} ScheduleOptionsV2 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ScheduleOptionsV2.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.timeBasedSchedule = $root.google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule.decode(reader, reader.uint32()); + break; + } + case 2: { + message.manualSchedule = $root.google.cloud.bigquery.datatransfer.v1.ManualSchedule.decode(reader, reader.uint32()); + break; + } + case 3: { + message.eventDrivenSchedule = $root.google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ScheduleOptionsV2 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2} ScheduleOptionsV2 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ScheduleOptionsV2.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ScheduleOptionsV2 message. + * @function verify + * @memberof google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2 + * @static + * @param {Object.<string,*>} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ScheduleOptionsV2.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.timeBasedSchedule != null && message.hasOwnProperty("timeBasedSchedule")) { + properties.schedule = 1; + { + var error = $root.google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule.verify(message.timeBasedSchedule); + if (error) + return "timeBasedSchedule." + error; + } + } + if (message.manualSchedule != null && message.hasOwnProperty("manualSchedule")) { + if (properties.schedule === 1) + return "schedule: multiple values"; + properties.schedule = 1; + { + var error = $root.google.cloud.bigquery.datatransfer.v1.ManualSchedule.verify(message.manualSchedule); + if (error) + return "manualSchedule." + error; + } + } + if (message.eventDrivenSchedule != null && message.hasOwnProperty("eventDrivenSchedule")) { + if (properties.schedule === 1) + return "schedule: multiple values"; + properties.schedule = 1; + { + var error = $root.google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule.verify(message.eventDrivenSchedule); + if (error) + return "eventDrivenSchedule." + error; + } + } + return null; + }; + + /** + * Creates a ScheduleOptionsV2 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2 + * @static + * @param {Object.<string,*>} object Plain object + * @returns {google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2} ScheduleOptionsV2 + */ + ScheduleOptionsV2.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2) + return object; + var message = new $root.google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2(); + if (object.timeBasedSchedule != null) { + if (typeof object.timeBasedSchedule !== "object") + throw TypeError(".google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2.timeBasedSchedule: object expected"); + message.timeBasedSchedule = $root.google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule.fromObject(object.timeBasedSchedule); + } + if (object.manualSchedule != null) { + if (typeof object.manualSchedule !== "object") + throw TypeError(".google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2.manualSchedule: object expected"); + message.manualSchedule = $root.google.cloud.bigquery.datatransfer.v1.ManualSchedule.fromObject(object.manualSchedule); + } + if (object.eventDrivenSchedule != null) { + if (typeof object.eventDrivenSchedule !== "object") + throw TypeError(".google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2.eventDrivenSchedule: object expected"); + message.eventDrivenSchedule = $root.google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule.fromObject(object.eventDrivenSchedule); + } + return message; + }; + + /** + * Creates a plain object from a ScheduleOptionsV2 message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2 + * @static + * @param {google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2} message ScheduleOptionsV2 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.<string,*>} Plain object + */ + ScheduleOptionsV2.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.timeBasedSchedule != null && message.hasOwnProperty("timeBasedSchedule")) { + object.timeBasedSchedule = $root.google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule.toObject(message.timeBasedSchedule, options); + if (options.oneofs) + object.schedule = "timeBasedSchedule"; + } + if (message.manualSchedule != null && message.hasOwnProperty("manualSchedule")) { + object.manualSchedule = $root.google.cloud.bigquery.datatransfer.v1.ManualSchedule.toObject(message.manualSchedule, options); + if (options.oneofs) + object.schedule = "manualSchedule"; + } + if (message.eventDrivenSchedule != null && message.hasOwnProperty("eventDrivenSchedule")) { + object.eventDrivenSchedule = $root.google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule.toObject(message.eventDrivenSchedule, options); + if (options.oneofs) + object.schedule = "eventDrivenSchedule"; + } + return object; + }; + + /** + * Converts this ScheduleOptionsV2 to JSON. + * @function toJSON + * @memberof google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2 + * @instance + * @returns {Object.<string,*>} JSON object + */ + ScheduleOptionsV2.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ScheduleOptionsV2 + * @function getTypeUrl + * @memberof google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2 + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ScheduleOptionsV2.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2"; + }; + + return ScheduleOptionsV2; + })(); + + v1.TimeBasedSchedule = (function() { + + /** + * Properties of a TimeBasedSchedule. + * @memberof google.cloud.bigquery.datatransfer.v1 + * @interface ITimeBasedSchedule + * @property {string|null} [schedule] TimeBasedSchedule schedule + * @property {google.protobuf.ITimestamp|null} [startTime] TimeBasedSchedule startTime + * @property {google.protobuf.ITimestamp|null} [endTime] TimeBasedSchedule endTime + */ + + /** + * Constructs a new TimeBasedSchedule. + * @memberof google.cloud.bigquery.datatransfer.v1 + * @classdesc Represents a TimeBasedSchedule. + * @implements ITimeBasedSchedule + * @constructor + * @param {google.cloud.bigquery.datatransfer.v1.ITimeBasedSchedule=} [properties] Properties to set + */ + function TimeBasedSchedule(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TimeBasedSchedule schedule. + * @member {string} schedule + * @memberof google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule + * @instance + */ + TimeBasedSchedule.prototype.schedule = ""; + + /** + * TimeBasedSchedule startTime. + * @member {google.protobuf.ITimestamp|null|undefined} startTime + * @memberof google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule + * @instance + */ + TimeBasedSchedule.prototype.startTime = null; + + /** + * TimeBasedSchedule endTime. + * @member {google.protobuf.ITimestamp|null|undefined} endTime + * @memberof google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule + * @instance + */ + TimeBasedSchedule.prototype.endTime = null; + + /** + * Creates a new TimeBasedSchedule instance using the specified properties. + * @function create + * @memberof google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule + * @static + * @param {google.cloud.bigquery.datatransfer.v1.ITimeBasedSchedule=} [properties] Properties to set + * @returns {google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule} TimeBasedSchedule instance + */ + TimeBasedSchedule.create = function create(properties) { + return new TimeBasedSchedule(properties); + }; + + /** + * Encodes the specified TimeBasedSchedule message. Does not implicitly {@link google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule.verify|verify} messages. + * @function encode + * @memberof google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule + * @static + * @param {google.cloud.bigquery.datatransfer.v1.ITimeBasedSchedule} message TimeBasedSchedule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TimeBasedSchedule.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.schedule != null && Object.hasOwnProperty.call(message, "schedule")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.schedule); + if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime")) + $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) + $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TimeBasedSchedule message, length delimited. Does not implicitly {@link google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule + * @static + * @param {google.cloud.bigquery.datatransfer.v1.ITimeBasedSchedule} message TimeBasedSchedule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TimeBasedSchedule.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TimeBasedSchedule message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule} TimeBasedSchedule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TimeBasedSchedule.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.schedule = reader.string(); + break; + } + case 2: { + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 3: { + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TimeBasedSchedule message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule} TimeBasedSchedule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TimeBasedSchedule.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TimeBasedSchedule message. + * @function verify + * @memberof google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule + * @static + * @param {Object.<string,*>} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TimeBasedSchedule.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.schedule != null && message.hasOwnProperty("schedule")) + if (!$util.isString(message.schedule)) + return "schedule: string expected"; + if (message.startTime != null && message.hasOwnProperty("startTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.startTime); + if (error) + return "startTime." + error; + } + if (message.endTime != null && message.hasOwnProperty("endTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.endTime); + if (error) + return "endTime." + error; + } + return null; + }; + + /** + * Creates a TimeBasedSchedule message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule + * @static + * @param {Object.<string,*>} object Plain object + * @returns {google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule} TimeBasedSchedule + */ + TimeBasedSchedule.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule) + return object; + var message = new $root.google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule(); + if (object.schedule != null) + message.schedule = String(object.schedule); + if (object.startTime != null) { + if (typeof object.startTime !== "object") + throw TypeError(".google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule.startTime: object expected"); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + } + if (object.endTime != null) { + if (typeof object.endTime !== "object") + throw TypeError(".google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule.endTime: object expected"); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + } + return message; + }; + + /** + * Creates a plain object from a TimeBasedSchedule message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule + * @static + * @param {google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule} message TimeBasedSchedule + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.<string,*>} Plain object + */ + TimeBasedSchedule.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.schedule = ""; + object.startTime = null; + object.endTime = null; + } + if (message.schedule != null && message.hasOwnProperty("schedule")) + object.schedule = message.schedule; + if (message.startTime != null && message.hasOwnProperty("startTime")) + object.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options); + if (message.endTime != null && message.hasOwnProperty("endTime")) + object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options); + return object; + }; + + /** + * Converts this TimeBasedSchedule to JSON. + * @function toJSON + * @memberof google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule + * @instance + * @returns {Object.<string,*>} JSON object + */ + TimeBasedSchedule.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for TimeBasedSchedule + * @function getTypeUrl + * @memberof google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TimeBasedSchedule.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule"; + }; + + return TimeBasedSchedule; + })(); + + v1.ManualSchedule = (function() { + + /** + * Properties of a ManualSchedule. + * @memberof google.cloud.bigquery.datatransfer.v1 + * @interface IManualSchedule + */ + + /** + * Constructs a new ManualSchedule. + * @memberof google.cloud.bigquery.datatransfer.v1 + * @classdesc Represents a ManualSchedule. + * @implements IManualSchedule + * @constructor + * @param {google.cloud.bigquery.datatransfer.v1.IManualSchedule=} [properties] Properties to set + */ + function ManualSchedule(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new ManualSchedule instance using the specified properties. + * @function create + * @memberof google.cloud.bigquery.datatransfer.v1.ManualSchedule + * @static + * @param {google.cloud.bigquery.datatransfer.v1.IManualSchedule=} [properties] Properties to set + * @returns {google.cloud.bigquery.datatransfer.v1.ManualSchedule} ManualSchedule instance + */ + ManualSchedule.create = function create(properties) { + return new ManualSchedule(properties); + }; + + /** + * Encodes the specified ManualSchedule message. Does not implicitly {@link google.cloud.bigquery.datatransfer.v1.ManualSchedule.verify|verify} messages. + * @function encode + * @memberof google.cloud.bigquery.datatransfer.v1.ManualSchedule + * @static + * @param {google.cloud.bigquery.datatransfer.v1.IManualSchedule} message ManualSchedule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ManualSchedule.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified ManualSchedule message, length delimited. Does not implicitly {@link google.cloud.bigquery.datatransfer.v1.ManualSchedule.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.bigquery.datatransfer.v1.ManualSchedule + * @static + * @param {google.cloud.bigquery.datatransfer.v1.IManualSchedule} message ManualSchedule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ManualSchedule.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ManualSchedule message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.bigquery.datatransfer.v1.ManualSchedule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.bigquery.datatransfer.v1.ManualSchedule} ManualSchedule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ManualSchedule.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.bigquery.datatransfer.v1.ManualSchedule(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ManualSchedule message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.bigquery.datatransfer.v1.ManualSchedule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.bigquery.datatransfer.v1.ManualSchedule} ManualSchedule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ManualSchedule.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ManualSchedule message. + * @function verify + * @memberof google.cloud.bigquery.datatransfer.v1.ManualSchedule + * @static + * @param {Object.<string,*>} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ManualSchedule.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a ManualSchedule message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.bigquery.datatransfer.v1.ManualSchedule + * @static + * @param {Object.<string,*>} object Plain object + * @returns {google.cloud.bigquery.datatransfer.v1.ManualSchedule} ManualSchedule + */ + ManualSchedule.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.bigquery.datatransfer.v1.ManualSchedule) + return object; + return new $root.google.cloud.bigquery.datatransfer.v1.ManualSchedule(); + }; + + /** + * Creates a plain object from a ManualSchedule message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.bigquery.datatransfer.v1.ManualSchedule + * @static + * @param {google.cloud.bigquery.datatransfer.v1.ManualSchedule} message ManualSchedule + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.<string,*>} Plain object + */ + ManualSchedule.toObject = function toObject() { + return {}; + }; + + /** + * Converts this ManualSchedule to JSON. + * @function toJSON + * @memberof google.cloud.bigquery.datatransfer.v1.ManualSchedule + * @instance + * @returns {Object.<string,*>} JSON object + */ + ManualSchedule.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ManualSchedule + * @function getTypeUrl + * @memberof google.cloud.bigquery.datatransfer.v1.ManualSchedule + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ManualSchedule.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.bigquery.datatransfer.v1.ManualSchedule"; + }; + + return ManualSchedule; + })(); + + v1.EventDrivenSchedule = (function() { + + /** + * Properties of an EventDrivenSchedule. + * @memberof google.cloud.bigquery.datatransfer.v1 + * @interface IEventDrivenSchedule + * @property {string|null} [pubsubSubscription] EventDrivenSchedule pubsubSubscription + */ + + /** + * Constructs a new EventDrivenSchedule. + * @memberof google.cloud.bigquery.datatransfer.v1 + * @classdesc Represents an EventDrivenSchedule. + * @implements IEventDrivenSchedule + * @constructor + * @param {google.cloud.bigquery.datatransfer.v1.IEventDrivenSchedule=} [properties] Properties to set + */ + function EventDrivenSchedule(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EventDrivenSchedule pubsubSubscription. + * @member {string} pubsubSubscription + * @memberof google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule + * @instance + */ + EventDrivenSchedule.prototype.pubsubSubscription = ""; + + /** + * Creates a new EventDrivenSchedule instance using the specified properties. + * @function create + * @memberof google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule + * @static + * @param {google.cloud.bigquery.datatransfer.v1.IEventDrivenSchedule=} [properties] Properties to set + * @returns {google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule} EventDrivenSchedule instance + */ + EventDrivenSchedule.create = function create(properties) { + return new EventDrivenSchedule(properties); + }; + + /** + * Encodes the specified EventDrivenSchedule message. Does not implicitly {@link google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule.verify|verify} messages. + * @function encode + * @memberof google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule + * @static + * @param {google.cloud.bigquery.datatransfer.v1.IEventDrivenSchedule} message EventDrivenSchedule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EventDrivenSchedule.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.pubsubSubscription != null && Object.hasOwnProperty.call(message, "pubsubSubscription")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.pubsubSubscription); + return writer; + }; + + /** + * Encodes the specified EventDrivenSchedule message, length delimited. Does not implicitly {@link google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule + * @static + * @param {google.cloud.bigquery.datatransfer.v1.IEventDrivenSchedule} message EventDrivenSchedule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EventDrivenSchedule.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EventDrivenSchedule message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule} EventDrivenSchedule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EventDrivenSchedule.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.pubsubSubscription = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EventDrivenSchedule message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule} EventDrivenSchedule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EventDrivenSchedule.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EventDrivenSchedule message. + * @function verify + * @memberof google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule + * @static + * @param {Object.<string,*>} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EventDrivenSchedule.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.pubsubSubscription != null && message.hasOwnProperty("pubsubSubscription")) + if (!$util.isString(message.pubsubSubscription)) + return "pubsubSubscription: string expected"; + return null; + }; + + /** + * Creates an EventDrivenSchedule message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule + * @static + * @param {Object.<string,*>} object Plain object + * @returns {google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule} EventDrivenSchedule + */ + EventDrivenSchedule.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule) + return object; + var message = new $root.google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule(); + if (object.pubsubSubscription != null) + message.pubsubSubscription = String(object.pubsubSubscription); + return message; + }; + + /** + * Creates a plain object from an EventDrivenSchedule message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule + * @static + * @param {google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule} message EventDrivenSchedule + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.<string,*>} Plain object + */ + EventDrivenSchedule.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.pubsubSubscription = ""; + if (message.pubsubSubscription != null && message.hasOwnProperty("pubsubSubscription")) + object.pubsubSubscription = message.pubsubSubscription; + return object; + }; + + /** + * Converts this EventDrivenSchedule to JSON. + * @function toJSON + * @memberof google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule + * @instance + * @returns {Object.<string,*>} JSON object + */ + EventDrivenSchedule.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for EventDrivenSchedule + * @function getTypeUrl + * @memberof google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EventDrivenSchedule.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule"; + }; + + return EventDrivenSchedule; + })(); + v1.UserInfo = (function() { /** @@ -8793,6 +9728,7 @@ * @property {google.protobuf.IStruct|null} [params] TransferConfig params * @property {string|null} [schedule] TransferConfig schedule * @property {google.cloud.bigquery.datatransfer.v1.IScheduleOptions|null} [scheduleOptions] TransferConfig scheduleOptions + * @property {google.cloud.bigquery.datatransfer.v1.IScheduleOptionsV2|null} [scheduleOptionsV2] TransferConfig scheduleOptionsV2 * @property {number|null} [dataRefreshWindowDays] TransferConfig dataRefreshWindowDays * @property {boolean|null} [disabled] TransferConfig disabled * @property {google.protobuf.ITimestamp|null} [updateTime] TransferConfig updateTime @@ -8804,6 +9740,7 @@ * @property {google.cloud.bigquery.datatransfer.v1.IEmailPreferences|null} [emailPreferences] TransferConfig emailPreferences * @property {google.cloud.bigquery.datatransfer.v1.IUserInfo|null} [ownerInfo] TransferConfig ownerInfo * @property {google.cloud.bigquery.datatransfer.v1.IEncryptionConfiguration|null} [encryptionConfiguration] TransferConfig encryptionConfiguration + * @property {google.rpc.IStatus|null} [error] TransferConfig error */ /** @@ -8877,6 +9814,14 @@ */ TransferConfig.prototype.scheduleOptions = null; + /** + * TransferConfig scheduleOptionsV2. + * @member {google.cloud.bigquery.datatransfer.v1.IScheduleOptionsV2|null|undefined} scheduleOptionsV2 + * @memberof google.cloud.bigquery.datatransfer.v1.TransferConfig + * @instance + */ + TransferConfig.prototype.scheduleOptionsV2 = null; + /** * TransferConfig dataRefreshWindowDays. * @member {number} dataRefreshWindowDays @@ -8965,6 +9910,14 @@ */ TransferConfig.prototype.encryptionConfiguration = null; + /** + * TransferConfig error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.bigquery.datatransfer.v1.TransferConfig + * @instance + */ + TransferConfig.prototype.error = null; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -9050,6 +10003,10 @@ $root.google.cloud.bigquery.datatransfer.v1.UserInfo.encode(message.ownerInfo, writer.uint32(/* id 27, wireType 2 =*/218).fork()).ldelim(); if (message.encryptionConfiguration != null && Object.hasOwnProperty.call(message, "encryptionConfiguration")) $root.google.cloud.bigquery.datatransfer.v1.EncryptionConfiguration.encode(message.encryptionConfiguration, writer.uint32(/* id 28, wireType 2 =*/226).fork()).ldelim(); + if (message.scheduleOptionsV2 != null && Object.hasOwnProperty.call(message, "scheduleOptionsV2")) + $root.google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2.encode(message.scheduleOptionsV2, writer.uint32(/* id 31, wireType 2 =*/250).fork()).ldelim(); + if (message.error != null && Object.hasOwnProperty.call(message, "error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 32, wireType 2 =*/258).fork()).ldelim(); return writer; }; @@ -9112,6 +10069,10 @@ message.scheduleOptions = $root.google.cloud.bigquery.datatransfer.v1.ScheduleOptions.decode(reader, reader.uint32()); break; } + case 31: { + message.scheduleOptionsV2 = $root.google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2.decode(reader, reader.uint32()); + break; + } case 12: { message.dataRefreshWindowDays = reader.int32(); break; @@ -9156,6 +10117,10 @@ message.encryptionConfiguration = $root.google.cloud.bigquery.datatransfer.v1.EncryptionConfiguration.decode(reader, reader.uint32()); break; } + case 32: { + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -9219,6 +10184,11 @@ if (error) return "scheduleOptions." + error; } + if (message.scheduleOptionsV2 != null && message.hasOwnProperty("scheduleOptionsV2")) { + var error = $root.google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2.verify(message.scheduleOptionsV2); + if (error) + return "scheduleOptionsV2." + error; + } if (message.dataRefreshWindowDays != null && message.hasOwnProperty("dataRefreshWindowDays")) if (!$util.isInteger(message.dataRefreshWindowDays)) return "dataRefreshWindowDays: integer expected"; @@ -9274,6 +10244,11 @@ if (error) return "encryptionConfiguration." + error; } + if (message.error != null && message.hasOwnProperty("error")) { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; + } return null; }; @@ -9309,6 +10284,11 @@ throw TypeError(".google.cloud.bigquery.datatransfer.v1.TransferConfig.scheduleOptions: object expected"); message.scheduleOptions = $root.google.cloud.bigquery.datatransfer.v1.ScheduleOptions.fromObject(object.scheduleOptions); } + if (object.scheduleOptionsV2 != null) { + if (typeof object.scheduleOptionsV2 !== "object") + throw TypeError(".google.cloud.bigquery.datatransfer.v1.TransferConfig.scheduleOptionsV2: object expected"); + message.scheduleOptionsV2 = $root.google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2.fromObject(object.scheduleOptionsV2); + } if (object.dataRefreshWindowDays != null) message.dataRefreshWindowDays = object.dataRefreshWindowDays | 0; if (object.disabled != null) @@ -9383,6 +10363,11 @@ throw TypeError(".google.cloud.bigquery.datatransfer.v1.TransferConfig.encryptionConfiguration: object expected"); message.encryptionConfiguration = $root.google.cloud.bigquery.datatransfer.v1.EncryptionConfiguration.fromObject(object.encryptionConfiguration); } + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.bigquery.datatransfer.v1.TransferConfig.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } return message; }; @@ -9420,6 +10405,8 @@ object.emailPreferences = null; object.scheduleOptions = null; object.encryptionConfiguration = null; + object.scheduleOptionsV2 = null; + object.error = null; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; @@ -9466,6 +10453,10 @@ } if (message.encryptionConfiguration != null && message.hasOwnProperty("encryptionConfiguration")) object.encryptionConfiguration = $root.google.cloud.bigquery.datatransfer.v1.EncryptionConfiguration.toObject(message.encryptionConfiguration, options); + if (message.scheduleOptionsV2 != null && message.hasOwnProperty("scheduleOptionsV2")) + object.scheduleOptionsV2 = $root.google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2.toObject(message.scheduleOptionsV2, options); + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); return object; }; diff --git a/packages/google-cloud-bigquery-datatransfer/protos/protos.json b/packages/google-cloud-bigquery-datatransfer/protos/protos.json index 6dd8cd51e08..b623a8a04a8 100644 --- a/packages/google-cloud-bigquery-datatransfer/protos/protos.json +++ b/packages/google-cloud-bigquery-datatransfer/protos/protos.json @@ -1,4 +1,7 @@ { + "options": { + "syntax": "proto3" + }, "nested": { "google": { "nested": { @@ -1075,6 +1078,58 @@ } } }, + "ScheduleOptionsV2": { + "oneofs": { + "schedule": { + "oneof": [ + "timeBasedSchedule", + "manualSchedule", + "eventDrivenSchedule" + ] + } + }, + "fields": { + "timeBasedSchedule": { + "type": "TimeBasedSchedule", + "id": 1 + }, + "manualSchedule": { + "type": "ManualSchedule", + "id": 2 + }, + "eventDrivenSchedule": { + "type": "EventDrivenSchedule", + "id": 3 + } + } + }, + "TimeBasedSchedule": { + "fields": { + "schedule": { + "type": "string", + "id": 1 + }, + "startTime": { + "type": "google.protobuf.Timestamp", + "id": 2 + }, + "endTime": { + "type": "google.protobuf.Timestamp", + "id": 3 + } + } + }, + "ManualSchedule": { + "fields": {} + }, + "EventDrivenSchedule": { + "fields": { + "pubsubSubscription": { + "type": "string", + "id": 1 + } + } + }, "UserInfo": { "oneofs": { "_email": { @@ -1142,6 +1197,10 @@ "type": "ScheduleOptions", "id": 24 }, + "scheduleOptionsV2": { + "type": "ScheduleOptionsV2", + "id": 31 + }, "dataRefreshWindowDays": { "type": "int32", "id": 12 @@ -1201,6 +1260,13 @@ "encryptionConfiguration": { "type": "EncryptionConfiguration", "id": 28 + }, + "error": { + "type": "google.rpc.Status", + "id": 32, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } } } },