diff --git a/BigQueryDataTransfer/metadata/V1/Transfer.php b/BigQueryDataTransfer/metadata/V1/Transfer.php
index 81eda220fed4..385f1d373ad2 100644
Binary files a/BigQueryDataTransfer/metadata/V1/Transfer.php and b/BigQueryDataTransfer/metadata/V1/Transfer.php differ
diff --git a/BigQueryDataTransfer/src/V1/EventDrivenSchedule.php b/BigQueryDataTransfer/src/V1/EventDrivenSchedule.php
new file mode 100644
index 000000000000..31a5153fcb4d
--- /dev/null
+++ b/BigQueryDataTransfer/src/V1/EventDrivenSchedule.php
@@ -0,0 +1,75 @@
+google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule
+ */
+class EventDrivenSchedule extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Pub/Sub subscription name used to receive events.
+ * Only Google Cloud Storage data source support this option.
+ * Format: projects/{project}/subscriptions/{subscription}
+ *
+ * Generated from protobuf field string pubsub_subscription = 1;
+ */
+ protected $pubsub_subscription = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $pubsub_subscription
+ * Pub/Sub subscription name used to receive events.
+ * Only Google Cloud Storage data source support this option.
+ * Format: projects/{project}/subscriptions/{subscription}
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Cloud\Bigquery\Datatransfer\V1\Transfer::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Pub/Sub subscription name used to receive events.
+ * Only Google Cloud Storage data source support this option.
+ * Format: projects/{project}/subscriptions/{subscription}
+ *
+ * Generated from protobuf field string pubsub_subscription = 1;
+ * @return string
+ */
+ public function getPubsubSubscription()
+ {
+ return $this->pubsub_subscription;
+ }
+
+ /**
+ * Pub/Sub subscription name used to receive events.
+ * Only Google Cloud Storage data source support this option.
+ * Format: projects/{project}/subscriptions/{subscription}
+ *
+ * Generated from protobuf field string pubsub_subscription = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setPubsubSubscription($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->pubsub_subscription = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/BigQueryDataTransfer/src/V1/ManualSchedule.php b/BigQueryDataTransfer/src/V1/ManualSchedule.php
new file mode 100644
index 000000000000..d63152a9d504
--- /dev/null
+++ b/BigQueryDataTransfer/src/V1/ManualSchedule.php
@@ -0,0 +1,33 @@
+google.cloud.bigquery.datatransfer.v1.ManualSchedule
+ */
+class ManualSchedule extends \Google\Protobuf\Internal\Message
+{
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Cloud\Bigquery\Datatransfer\V1\Transfer::initOnce();
+ parent::__construct($data);
+ }
+
+}
+
diff --git a/BigQueryDataTransfer/src/V1/ScheduleOptionsV2.php b/BigQueryDataTransfer/src/V1/ScheduleOptionsV2.php
new file mode 100644
index 000000000000..9f60741106c1
--- /dev/null
+++ b/BigQueryDataTransfer/src/V1/ScheduleOptionsV2.php
@@ -0,0 +1,159 @@
+google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2
+ */
+class ScheduleOptionsV2 extends \Google\Protobuf\Internal\Message
+{
+ protected $schedule;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Cloud\BigQuery\DataTransfer\V1\TimeBasedSchedule $time_based_schedule
+ * Time based transfer schedule options. This is the default schedule
+ * option.
+ * @type \Google\Cloud\BigQuery\DataTransfer\V1\ManualSchedule $manual_schedule
+ * 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.
+ * @type \Google\Cloud\BigQuery\DataTransfer\V1\EventDrivenSchedule $event_driven_schedule
+ * Event driven transfer schedule options. If set, the transfer will be
+ * scheduled upon events arrial.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Cloud\Bigquery\Datatransfer\V1\Transfer::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Time based transfer schedule options. This is the default schedule
+ * option.
+ *
+ * Generated from protobuf field .google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule time_based_schedule = 1;
+ * @return \Google\Cloud\BigQuery\DataTransfer\V1\TimeBasedSchedule|null
+ */
+ public function getTimeBasedSchedule()
+ {
+ return $this->readOneof(1);
+ }
+
+ public function hasTimeBasedSchedule()
+ {
+ return $this->hasOneof(1);
+ }
+
+ /**
+ * Time based transfer schedule options. This is the default schedule
+ * option.
+ *
+ * Generated from protobuf field .google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule time_based_schedule = 1;
+ * @param \Google\Cloud\BigQuery\DataTransfer\V1\TimeBasedSchedule $var
+ * @return $this
+ */
+ public function setTimeBasedSchedule($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Cloud\BigQuery\DataTransfer\V1\TimeBasedSchedule::class);
+ $this->writeOneof(1, $var);
+
+ return $this;
+ }
+
+ /**
+ * 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.
+ *
+ * Generated from protobuf field .google.cloud.bigquery.datatransfer.v1.ManualSchedule manual_schedule = 2;
+ * @return \Google\Cloud\BigQuery\DataTransfer\V1\ManualSchedule|null
+ */
+ public function getManualSchedule()
+ {
+ return $this->readOneof(2);
+ }
+
+ public function hasManualSchedule()
+ {
+ return $this->hasOneof(2);
+ }
+
+ /**
+ * 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.
+ *
+ * Generated from protobuf field .google.cloud.bigquery.datatransfer.v1.ManualSchedule manual_schedule = 2;
+ * @param \Google\Cloud\BigQuery\DataTransfer\V1\ManualSchedule $var
+ * @return $this
+ */
+ public function setManualSchedule($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Cloud\BigQuery\DataTransfer\V1\ManualSchedule::class);
+ $this->writeOneof(2, $var);
+
+ return $this;
+ }
+
+ /**
+ * Event driven transfer schedule options. If set, the transfer will be
+ * scheduled upon events arrial.
+ *
+ * Generated from protobuf field .google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule event_driven_schedule = 3;
+ * @return \Google\Cloud\BigQuery\DataTransfer\V1\EventDrivenSchedule|null
+ */
+ public function getEventDrivenSchedule()
+ {
+ return $this->readOneof(3);
+ }
+
+ public function hasEventDrivenSchedule()
+ {
+ return $this->hasOneof(3);
+ }
+
+ /**
+ * Event driven transfer schedule options. If set, the transfer will be
+ * scheduled upon events arrial.
+ *
+ * Generated from protobuf field .google.cloud.bigquery.datatransfer.v1.EventDrivenSchedule event_driven_schedule = 3;
+ * @param \Google\Cloud\BigQuery\DataTransfer\V1\EventDrivenSchedule $var
+ * @return $this
+ */
+ public function setEventDrivenSchedule($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Cloud\BigQuery\DataTransfer\V1\EventDrivenSchedule::class);
+ $this->writeOneof(3, $var);
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getSchedule()
+ {
+ return $this->whichOneof("schedule");
+ }
+
+}
+
diff --git a/BigQueryDataTransfer/src/V1/TimeBasedSchedule.php b/BigQueryDataTransfer/src/V1/TimeBasedSchedule.php
new file mode 100644
index 000000000000..11981b94a608
--- /dev/null
+++ b/BigQueryDataTransfer/src/V1/TimeBasedSchedule.php
@@ -0,0 +1,220 @@
+google.cloud.bigquery.datatransfer.v1.TimeBasedSchedule
+ */
+class TimeBasedSchedule extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * 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.
+ *
+ * Generated from protobuf field string schedule = 1;
+ */
+ protected $schedule = '';
+ /**
+ * 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.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp start_time = 2;
+ */
+ protected $start_time = null;
+ /**
+ * 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.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp end_time = 3;
+ */
+ protected $end_time = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $schedule
+ * 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.
+ * @type \Google\Protobuf\Timestamp $start_time
+ * 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.
+ * @type \Google\Protobuf\Timestamp $end_time
+ * 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.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Cloud\Bigquery\Datatransfer\V1\Transfer::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * 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.
+ *
+ * Generated from protobuf field string schedule = 1;
+ * @return string
+ */
+ public function getSchedule()
+ {
+ return $this->schedule;
+ }
+
+ /**
+ * 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.
+ *
+ * Generated from protobuf field string schedule = 1;
+ * @param string $var
+ * @return $this
+ */
+ public function setSchedule($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->schedule = $var;
+
+ return $this;
+ }
+
+ /**
+ * 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.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp start_time = 2;
+ * @return \Google\Protobuf\Timestamp|null
+ */
+ public function getStartTime()
+ {
+ return $this->start_time;
+ }
+
+ public function hasStartTime()
+ {
+ return isset($this->start_time);
+ }
+
+ public function clearStartTime()
+ {
+ unset($this->start_time);
+ }
+
+ /**
+ * 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.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp start_time = 2;
+ * @param \Google\Protobuf\Timestamp $var
+ * @return $this
+ */
+ public function setStartTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
+ $this->start_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * 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.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp end_time = 3;
+ * @return \Google\Protobuf\Timestamp|null
+ */
+ public function getEndTime()
+ {
+ return $this->end_time;
+ }
+
+ public function hasEndTime()
+ {
+ return isset($this->end_time);
+ }
+
+ public function clearEndTime()
+ {
+ unset($this->end_time);
+ }
+
+ /**
+ * 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.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp end_time = 3;
+ * @param \Google\Protobuf\Timestamp $var
+ * @return $this
+ */
+ public function setEndTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
+ $this->end_time = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/BigQueryDataTransfer/src/V1/TransferConfig.php b/BigQueryDataTransfer/src/V1/TransferConfig.php
index c1288effb4fa..e02892d345a5 100644
--- a/BigQueryDataTransfer/src/V1/TransferConfig.php
+++ b/BigQueryDataTransfer/src/V1/TransferConfig.php
@@ -78,6 +78,14 @@ class TransferConfig extends \Google\Protobuf\Internal\Message
* Generated from protobuf field .google.cloud.bigquery.datatransfer.v1.ScheduleOptions schedule_options = 24;
*/
protected $schedule_options = null;
+ /**
+ * Options customizing different types of data transfer schedule.
+ * This field replaces "schedule" and "schedule_options" fields.
+ * ScheduleOptionsV2 cannot be used together with ScheduleOptions/Schedule.
+ *
+ * Generated from protobuf field .google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2 schedule_options_v2 = 31;
+ */
+ protected $schedule_options_v2 = null;
/**
* The number of days to look back to automatically refresh the data.
* For example, if `data_refresh_window_days = 10`, then every day
@@ -160,6 +168,13 @@ class TransferConfig extends \Google\Protobuf\Internal\Message
* Generated from protobuf field .google.cloud.bigquery.datatransfer.v1.EncryptionConfiguration encryption_configuration = 28;
*/
protected $encryption_configuration = null;
+ /**
+ * Output only. Error code with detailed information about reason of the
+ * latest config failure.
+ *
+ * Generated from protobuf field .google.rpc.Status error = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $error = null;
protected $destination;
/**
@@ -204,6 +219,10 @@ class TransferConfig extends \Google\Protobuf\Internal\Message
* data source; refer to the documentation for your data source.
* @type \Google\Cloud\BigQuery\DataTransfer\V1\ScheduleOptions $schedule_options
* Options customizing the data transfer schedule.
+ * @type \Google\Cloud\BigQuery\DataTransfer\V1\ScheduleOptionsV2 $schedule_options_v2
+ * Options customizing different types of data transfer schedule.
+ * This field replaces "schedule" and "schedule_options" fields.
+ * ScheduleOptionsV2 cannot be used together with ScheduleOptions/Schedule.
* @type int $data_refresh_window_days
* The number of days to look back to automatically refresh the data.
* For example, if `data_refresh_window_days = 10`, then every day
@@ -242,6 +261,9 @@ class TransferConfig extends \Google\Protobuf\Internal\Message
* granted permissions to use the key. Read methods will return the key name
* 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.
+ * @type \Google\Rpc\Status $error
+ * Output only. Error code with detailed information about reason of the
+ * latest config failure.
* }
*/
public function __construct($data = NULL) {
@@ -500,6 +522,46 @@ public function setScheduleOptions($var)
return $this;
}
+ /**
+ * Options customizing different types of data transfer schedule.
+ * This field replaces "schedule" and "schedule_options" fields.
+ * ScheduleOptionsV2 cannot be used together with ScheduleOptions/Schedule.
+ *
+ * Generated from protobuf field .google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2 schedule_options_v2 = 31;
+ * @return \Google\Cloud\BigQuery\DataTransfer\V1\ScheduleOptionsV2|null
+ */
+ public function getScheduleOptionsV2()
+ {
+ return $this->schedule_options_v2;
+ }
+
+ public function hasScheduleOptionsV2()
+ {
+ return isset($this->schedule_options_v2);
+ }
+
+ public function clearScheduleOptionsV2()
+ {
+ unset($this->schedule_options_v2);
+ }
+
+ /**
+ * Options customizing different types of data transfer schedule.
+ * This field replaces "schedule" and "schedule_options" fields.
+ * ScheduleOptionsV2 cannot be used together with ScheduleOptions/Schedule.
+ *
+ * Generated from protobuf field .google.cloud.bigquery.datatransfer.v1.ScheduleOptionsV2 schedule_options_v2 = 31;
+ * @param \Google\Cloud\BigQuery\DataTransfer\V1\ScheduleOptionsV2 $var
+ * @return $this
+ */
+ public function setScheduleOptionsV2($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Cloud\BigQuery\DataTransfer\V1\ScheduleOptionsV2::class);
+ $this->schedule_options_v2 = $var;
+
+ return $this;
+ }
+
/**
* The number of days to look back to automatically refresh the data.
* For example, if `data_refresh_window_days = 10`, then every day
@@ -868,6 +930,44 @@ public function setEncryptionConfiguration($var)
return $this;
}
+ /**
+ * Output only. Error code with detailed information about reason of the
+ * latest config failure.
+ *
+ * Generated from protobuf field .google.rpc.Status error = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Rpc\Status|null
+ */
+ public function getError()
+ {
+ return $this->error;
+ }
+
+ public function hasError()
+ {
+ return isset($this->error);
+ }
+
+ public function clearError()
+ {
+ unset($this->error);
+ }
+
+ /**
+ * Output only. Error code with detailed information about reason of the
+ * latest config failure.
+ *
+ * Generated from protobuf field .google.rpc.Status error = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Rpc\Status $var
+ * @return $this
+ */
+ public function setError($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Rpc\Status::class);
+ $this->error = $var;
+
+ return $this;
+ }
+
/**
* @return string
*/