diff --git a/clients/big_query_data_transfer/README.md b/clients/big_query_data_transfer/README.md index 0ae57f618d..1c7ec9c881 100644 --- a/clients/big_query_data_transfer/README.md +++ b/clients/big_query_data_transfer/README.md @@ -11,7 +11,7 @@ Install this package from [Hex](https://hex.pm) by adding ```elixir def deps do - [{:google_api_big_query_data_transfer, "~> 0.28"}] + [{:google_api_big_query_data_transfer, "~> 0.29"}] end ``` diff --git a/clients/big_query_data_transfer/lib/google_api/big_query_data_transfer/v1/metadata.ex b/clients/big_query_data_transfer/lib/google_api/big_query_data_transfer/v1/metadata.ex index 7d3709c5e3..cf072fd3ed 100644 --- a/clients/big_query_data_transfer/lib/google_api/big_query_data_transfer/v1/metadata.ex +++ b/clients/big_query_data_transfer/lib/google_api/big_query_data_transfer/v1/metadata.ex @@ -20,7 +20,7 @@ defmodule GoogleApi.BigQueryDataTransfer.V1 do API client metadata for GoogleApi.BigQueryDataTransfer.V1. """ - @discovery_revision "20240806" + @discovery_revision "20240914" def discovery_revision(), do: @discovery_revision end diff --git a/clients/big_query_data_transfer/lib/google_api/big_query_data_transfer/v1/model/event_driven_schedule.ex b/clients/big_query_data_transfer/lib/google_api/big_query_data_transfer/v1/model/event_driven_schedule.ex new file mode 100644 index 0000000000..625983fd61 --- /dev/null +++ b/clients/big_query_data_transfer/lib/google_api/big_query_data_transfer/v1/model/event_driven_schedule.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.BigQueryDataTransfer.V1.Model.EventDrivenSchedule do + @moduledoc """ + Options customizing EventDriven transfers schedule. + + ## Attributes + + * `pubsubSubscription` (*type:* `String.t`, *default:* `nil`) - Pub/Sub subscription name used to receive events. Only Google Cloud Storage data source support this option. Format: projects/{project}/subscriptions/{subscription} + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :pubsubSubscription => String.t() | nil + } + + field(:pubsubSubscription) +end + +defimpl Poison.Decoder, for: GoogleApi.BigQueryDataTransfer.V1.Model.EventDrivenSchedule do + def decode(value, options) do + GoogleApi.BigQueryDataTransfer.V1.Model.EventDrivenSchedule.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BigQueryDataTransfer.V1.Model.EventDrivenSchedule do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/big_query_data_transfer/lib/google_api/big_query_data_transfer/v1/model/manual_schedule.ex b/clients/big_query_data_transfer/lib/google_api/big_query_data_transfer/v1/model/manual_schedule.ex new file mode 100644 index 0000000000..6f46f15c3c --- /dev/null +++ b/clients/big_query_data_transfer/lib/google_api/big_query_data_transfer/v1/model/manual_schedule.ex @@ -0,0 +1,41 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.BigQueryDataTransfer.V1.Model.ManualSchedule do + @moduledoc """ + Options customizing manual transfers schedule. + + ## Attributes + + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{} +end + +defimpl Poison.Decoder, for: GoogleApi.BigQueryDataTransfer.V1.Model.ManualSchedule do + def decode(value, options) do + GoogleApi.BigQueryDataTransfer.V1.Model.ManualSchedule.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BigQueryDataTransfer.V1.Model.ManualSchedule do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/big_query_data_transfer/lib/google_api/big_query_data_transfer/v1/model/schedule_options_v2.ex b/clients/big_query_data_transfer/lib/google_api/big_query_data_transfer/v1/model/schedule_options_v2.ex new file mode 100644 index 0000000000..c82f575b0a --- /dev/null +++ b/clients/big_query_data_transfer/lib/google_api/big_query_data_transfer/v1/model/schedule_options_v2.ex @@ -0,0 +1,54 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.BigQueryDataTransfer.V1.Model.ScheduleOptionsV2 do + @moduledoc """ + 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. + + ## Attributes + + * `eventDrivenSchedule` (*type:* `GoogleApi.BigQueryDataTransfer.V1.Model.EventDrivenSchedule.t`, *default:* `nil`) - Event driven transfer schedule options. If set, the transfer will be scheduled upon events arrial. + * `manualSchedule` (*type:* `GoogleApi.BigQueryDataTransfer.V1.Model.ManualSchedule.t`, *default:* `nil`) - 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. + * `timeBasedSchedule` (*type:* `GoogleApi.BigQueryDataTransfer.V1.Model.TimeBasedSchedule.t`, *default:* `nil`) - Time based transfer schedule options. This is the default schedule option. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :eventDrivenSchedule => + GoogleApi.BigQueryDataTransfer.V1.Model.EventDrivenSchedule.t() | nil, + :manualSchedule => GoogleApi.BigQueryDataTransfer.V1.Model.ManualSchedule.t() | nil, + :timeBasedSchedule => + GoogleApi.BigQueryDataTransfer.V1.Model.TimeBasedSchedule.t() | nil + } + + field(:eventDrivenSchedule, as: GoogleApi.BigQueryDataTransfer.V1.Model.EventDrivenSchedule) + field(:manualSchedule, as: GoogleApi.BigQueryDataTransfer.V1.Model.ManualSchedule) + field(:timeBasedSchedule, as: GoogleApi.BigQueryDataTransfer.V1.Model.TimeBasedSchedule) +end + +defimpl Poison.Decoder, for: GoogleApi.BigQueryDataTransfer.V1.Model.ScheduleOptionsV2 do + def decode(value, options) do + GoogleApi.BigQueryDataTransfer.V1.Model.ScheduleOptionsV2.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BigQueryDataTransfer.V1.Model.ScheduleOptionsV2 do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/big_query_data_transfer/lib/google_api/big_query_data_transfer/v1/model/time_based_schedule.ex b/clients/big_query_data_transfer/lib/google_api/big_query_data_transfer/v1/model/time_based_schedule.ex new file mode 100644 index 0000000000..6b5e1e0ee8 --- /dev/null +++ b/clients/big_query_data_transfer/lib/google_api/big_query_data_transfer/v1/model/time_based_schedule.ex @@ -0,0 +1,52 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.BigQueryDataTransfer.V1.Model.TimeBasedSchedule do + @moduledoc """ + Options customizing the time based transfer schedule. Options are migrated from the original ScheduleOptions message. + + ## Attributes + + * `endTime` (*type:* `DateTime.t`, *default:* `nil`) - 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. + * `schedule` (*type:* `String.t`, *default:* `nil`) - 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. + * `startTime` (*type:* `DateTime.t`, *default:* `nil`) - 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. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :endTime => DateTime.t() | nil, + :schedule => String.t() | nil, + :startTime => DateTime.t() | nil + } + + field(:endTime, as: DateTime) + field(:schedule) + field(:startTime, as: DateTime) +end + +defimpl Poison.Decoder, for: GoogleApi.BigQueryDataTransfer.V1.Model.TimeBasedSchedule do + def decode(value, options) do + GoogleApi.BigQueryDataTransfer.V1.Model.TimeBasedSchedule.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BigQueryDataTransfer.V1.Model.TimeBasedSchedule do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/big_query_data_transfer/lib/google_api/big_query_data_transfer/v1/model/transfer_config.ex b/clients/big_query_data_transfer/lib/google_api/big_query_data_transfer/v1/model/transfer_config.ex index d41815a226..6f286ebd0e 100644 --- a/clients/big_query_data_transfer/lib/google_api/big_query_data_transfer/v1/model/transfer_config.ex +++ b/clients/big_query_data_transfer/lib/google_api/big_query_data_transfer/v1/model/transfer_config.ex @@ -29,6 +29,7 @@ defmodule GoogleApi.BigQueryDataTransfer.V1.Model.TransferConfig do * `displayName` (*type:* `String.t`, *default:* `nil`) - User specified display name for the data transfer. * `emailPreferences` (*type:* `GoogleApi.BigQueryDataTransfer.V1.Model.EmailPreferences.t`, *default:* `nil`) - Email notifications will be sent according to these preferences to the email address of the user who owns this transfer config. * `encryptionConfiguration` (*type:* `GoogleApi.BigQueryDataTransfer.V1.Model.EncryptionConfiguration.t`, *default:* `nil`) - The encryption configuration part. Currently, it is only used for the optional KMS key name. The BigQuery service account of your project must be 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. + * `error` (*type:* `GoogleApi.BigQueryDataTransfer.V1.Model.Status.t`, *default:* `nil`) - Output only. Error code with detailed information about reason of the latest config failure. * `name` (*type:* `String.t`, *default:* `nil`) - Identifier. The resource name of the transfer config. Transfer config names have the form either `projects/{project_id}/locations/{region}/transferConfigs/{config_id}` or `projects/{project_id}/transferConfigs/{config_id}`, where `config_id` is usually a UUID, even though it is not guaranteed or required. The name is ignored when creating a transfer config. * `nextRunTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. Next time when data transfer will run. * `notificationPubsubTopic` (*type:* `String.t`, *default:* `nil`) - Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` @@ -36,6 +37,7 @@ defmodule GoogleApi.BigQueryDataTransfer.V1.Model.TransferConfig do * `params` (*type:* `map()`, *default:* `nil`) - Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq * `schedule` (*type:* `String.t`, *default:* `nil`) - 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. * `scheduleOptions` (*type:* `GoogleApi.BigQueryDataTransfer.V1.Model.ScheduleOptions.t`, *default:* `nil`) - Options customizing the data transfer schedule. + * `scheduleOptionsV2` (*type:* `GoogleApi.BigQueryDataTransfer.V1.Model.ScheduleOptionsV2.t`, *default:* `nil`) - Options customizing different types of data transfer schedule. This field replaces "schedule" and "schedule_options" fields. ScheduleOptionsV2 cannot be used together with ScheduleOptions/Schedule. * `state` (*type:* `String.t`, *default:* `nil`) - Output only. State of the most recently updated transfer run. * `updateTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. Data transfer modification time. Ignored by server on input. * `userId` (*type:* `String.t`, *default:* `nil`) - Deprecated. Unique ID of the user on whose behalf transfer is done. @@ -53,6 +55,7 @@ defmodule GoogleApi.BigQueryDataTransfer.V1.Model.TransferConfig do :emailPreferences => GoogleApi.BigQueryDataTransfer.V1.Model.EmailPreferences.t() | nil, :encryptionConfiguration => GoogleApi.BigQueryDataTransfer.V1.Model.EncryptionConfiguration.t() | nil, + :error => GoogleApi.BigQueryDataTransfer.V1.Model.Status.t() | nil, :name => String.t() | nil, :nextRunTime => DateTime.t() | nil, :notificationPubsubTopic => String.t() | nil, @@ -60,6 +63,8 @@ defmodule GoogleApi.BigQueryDataTransfer.V1.Model.TransferConfig do :params => map() | nil, :schedule => String.t() | nil, :scheduleOptions => GoogleApi.BigQueryDataTransfer.V1.Model.ScheduleOptions.t() | nil, + :scheduleOptionsV2 => + GoogleApi.BigQueryDataTransfer.V1.Model.ScheduleOptionsV2.t() | nil, :state => String.t() | nil, :updateTime => DateTime.t() | nil, :userId => String.t() | nil @@ -77,6 +82,7 @@ defmodule GoogleApi.BigQueryDataTransfer.V1.Model.TransferConfig do as: GoogleApi.BigQueryDataTransfer.V1.Model.EncryptionConfiguration ) + field(:error, as: GoogleApi.BigQueryDataTransfer.V1.Model.Status) field(:name) field(:nextRunTime, as: DateTime) field(:notificationPubsubTopic) @@ -84,6 +90,7 @@ defmodule GoogleApi.BigQueryDataTransfer.V1.Model.TransferConfig do field(:params, type: :map) field(:schedule) field(:scheduleOptions, as: GoogleApi.BigQueryDataTransfer.V1.Model.ScheduleOptions) + field(:scheduleOptionsV2, as: GoogleApi.BigQueryDataTransfer.V1.Model.ScheduleOptionsV2) field(:state) field(:updateTime, as: DateTime) field(:userId) diff --git a/clients/big_query_data_transfer/mix.exs b/clients/big_query_data_transfer/mix.exs index 71fd69f0c4..d90b5761f5 100644 --- a/clients/big_query_data_transfer/mix.exs +++ b/clients/big_query_data_transfer/mix.exs @@ -18,7 +18,7 @@ defmodule GoogleApi.BigQueryDataTransfer.Mixfile do use Mix.Project - @version "0.28.1" + @version "0.29.0" def project() do [