google-api-ruby-client/generated/google-apis-bigquerydatatra.../lib/google/apis/bigquerydatatransfer_v1/classes.rb

1021 lines
42 KiB
Ruby

# Copyright 2020 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.
require 'date'
require 'google/apis/core/base_service'
require 'google/apis/core/json_representation'
require 'google/apis/core/hashable'
require 'google/apis/errors'
module Google
module Apis
module BigquerydatatransferV1
# A request to determine whether the user has valid credentials. This method is
# used to limit the number of OAuth popups in the user interface. The user id is
# inferred from the API call context. If the data source has the Google+
# authorization type, this method returns false, as it cannot be determined
# whether the credentials are already valid merely based on the user id.
class CheckValidCredsRequest
include Google::Apis::Core::Hashable
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
end
end
# A response indicating whether the credentials exist and are valid.
class CheckValidCredsResponse
include Google::Apis::Core::Hashable
# If set to `true`, the credentials exist and are valid.
# Corresponds to the JSON property `hasValidCreds`
# @return [Boolean]
attr_accessor :has_valid_creds
alias_method :has_valid_creds?, :has_valid_creds
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@has_valid_creds = args[:has_valid_creds] if args.key?(:has_valid_creds)
end
end
# Represents data source metadata. Metadata is sufficient to render UI and
# request proper OAuth tokens.
class DataSource
include Google::Apis::Core::Hashable
# Indicates the type of authorization.
# Corresponds to the JSON property `authorizationType`
# @return [String]
attr_accessor :authorization_type
# Data source client id which should be used to receive refresh token.
# Corresponds to the JSON property `clientId`
# @return [String]
attr_accessor :client_id
# Specifies whether the data source supports automatic data refresh for the past
# few days, and how it's supported. For some data sources, data might not be
# complete until a few days later, so it's useful to refresh data automatically.
# Corresponds to the JSON property `dataRefreshType`
# @return [String]
attr_accessor :data_refresh_type
# Data source id.
# Corresponds to the JSON property `dataSourceId`
# @return [String]
attr_accessor :data_source_id
# Default data refresh window on days. Only meaningful when `data_refresh_type` =
# `SLIDING_WINDOW`.
# Corresponds to the JSON property `defaultDataRefreshWindowDays`
# @return [Fixnum]
attr_accessor :default_data_refresh_window_days
# Default data transfer schedule. Examples of valid schedules include: `1st,3rd
# monday of month 15:30`, `every wed,fri of jan,jun 13:15`, and `first sunday of
# quarter 00:00`.
# Corresponds to the JSON property `defaultSchedule`
# @return [String]
attr_accessor :default_schedule
# User friendly data source description string.
# Corresponds to the JSON property `description`
# @return [String]
attr_accessor :description
# User friendly data source name.
# Corresponds to the JSON property `displayName`
# @return [String]
attr_accessor :display_name
# Url for the help document for this data source.
# Corresponds to the JSON property `helpUrl`
# @return [String]
attr_accessor :help_url
# Disables backfilling and manual run scheduling for the data source.
# Corresponds to the JSON property `manualRunsDisabled`
# @return [Boolean]
attr_accessor :manual_runs_disabled
alias_method :manual_runs_disabled?, :manual_runs_disabled
# The minimum interval for scheduler to schedule runs.
# Corresponds to the JSON property `minimumScheduleInterval`
# @return [String]
attr_accessor :minimum_schedule_interval
# Output only. Data source resource name.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# Data source parameters.
# Corresponds to the JSON property `parameters`
# @return [Array<Google::Apis::BigquerydatatransferV1::DataSourceParameter>]
attr_accessor :parameters
# Api auth scopes for which refresh token needs to be obtained. These are scopes
# needed by a data source to prepare data and ingest them into BigQuery, e.g.,
# https://www.googleapis.com/auth/bigquery
# Corresponds to the JSON property `scopes`
# @return [Array<String>]
attr_accessor :scopes
# Specifies whether the data source supports a user defined schedule, or
# operates on the default schedule. When set to `true`, user can override
# default schedule.
# Corresponds to the JSON property `supportsCustomSchedule`
# @return [Boolean]
attr_accessor :supports_custom_schedule
alias_method :supports_custom_schedule?, :supports_custom_schedule
# Deprecated. This field has no effect.
# Corresponds to the JSON property `supportsMultipleTransfers`
# @return [Boolean]
attr_accessor :supports_multiple_transfers
alias_method :supports_multiple_transfers?, :supports_multiple_transfers
# Deprecated. This field has no effect.
# Corresponds to the JSON property `transferType`
# @return [String]
attr_accessor :transfer_type
# The number of seconds to wait for an update from the data source before the
# Data Transfer Service marks the transfer as FAILED.
# Corresponds to the JSON property `updateDeadlineSeconds`
# @return [Fixnum]
attr_accessor :update_deadline_seconds
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@authorization_type = args[:authorization_type] if args.key?(:authorization_type)
@client_id = args[:client_id] if args.key?(:client_id)
@data_refresh_type = args[:data_refresh_type] if args.key?(:data_refresh_type)
@data_source_id = args[:data_source_id] if args.key?(:data_source_id)
@default_data_refresh_window_days = args[:default_data_refresh_window_days] if args.key?(:default_data_refresh_window_days)
@default_schedule = args[:default_schedule] if args.key?(:default_schedule)
@description = args[:description] if args.key?(:description)
@display_name = args[:display_name] if args.key?(:display_name)
@help_url = args[:help_url] if args.key?(:help_url)
@manual_runs_disabled = args[:manual_runs_disabled] if args.key?(:manual_runs_disabled)
@minimum_schedule_interval = args[:minimum_schedule_interval] if args.key?(:minimum_schedule_interval)
@name = args[:name] if args.key?(:name)
@parameters = args[:parameters] if args.key?(:parameters)
@scopes = args[:scopes] if args.key?(:scopes)
@supports_custom_schedule = args[:supports_custom_schedule] if args.key?(:supports_custom_schedule)
@supports_multiple_transfers = args[:supports_multiple_transfers] if args.key?(:supports_multiple_transfers)
@transfer_type = args[:transfer_type] if args.key?(:transfer_type)
@update_deadline_seconds = args[:update_deadline_seconds] if args.key?(:update_deadline_seconds)
end
end
# Represents a data source parameter with validation rules, so that parameters
# can be rendered in the UI. These parameters are given to us by supported data
# sources, and include all needed information for rendering and validation. Thus,
# whoever uses this api can decide to generate either generic ui, or custom
# data source specific forms.
class DataSourceParameter
include Google::Apis::Core::Hashable
# All possible values for the parameter.
# Corresponds to the JSON property `allowedValues`
# @return [Array<String>]
attr_accessor :allowed_values
# If true, it should not be used in new transfers, and it should not be visible
# to users.
# Corresponds to the JSON property `deprecated`
# @return [Boolean]
attr_accessor :deprecated
alias_method :deprecated?, :deprecated
# Parameter description.
# Corresponds to the JSON property `description`
# @return [String]
attr_accessor :description
# Parameter display name in the user interface.
# Corresponds to the JSON property `displayName`
# @return [String]
attr_accessor :display_name
# Deprecated. This field has no effect.
# Corresponds to the JSON property `fields`
# @return [Array<Google::Apis::BigquerydatatransferV1::DataSourceParameter>]
attr_accessor :fields
# Cannot be changed after initial creation.
# Corresponds to the JSON property `immutable`
# @return [Boolean]
attr_accessor :immutable
alias_method :immutable?, :immutable
# For integer and double values specifies maxminum allowed value.
# Corresponds to the JSON property `maxValue`
# @return [Float]
attr_accessor :max_value
# For integer and double values specifies minimum allowed value.
# Corresponds to the JSON property `minValue`
# @return [Float]
attr_accessor :min_value
# Parameter identifier.
# Corresponds to the JSON property `paramId`
# @return [String]
attr_accessor :param_id
# Deprecated. This field has no effect.
# Corresponds to the JSON property `recurse`
# @return [Boolean]
attr_accessor :recurse
alias_method :recurse?, :recurse
# Deprecated. This field has no effect.
# Corresponds to the JSON property `repeated`
# @return [Boolean]
attr_accessor :repeated
alias_method :repeated?, :repeated
# Is parameter required.
# Corresponds to the JSON property `required`
# @return [Boolean]
attr_accessor :required
alias_method :required?, :required
# Parameter type.
# Corresponds to the JSON property `type`
# @return [String]
attr_accessor :type
# Description of the requirements for this field, in case the user input does
# not fulfill the regex pattern or min/max values.
# Corresponds to the JSON property `validationDescription`
# @return [String]
attr_accessor :validation_description
# URL to a help document to further explain the naming requirements.
# Corresponds to the JSON property `validationHelpUrl`
# @return [String]
attr_accessor :validation_help_url
# Regular expression which can be used for parameter validation.
# Corresponds to the JSON property `validationRegex`
# @return [String]
attr_accessor :validation_regex
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@allowed_values = args[:allowed_values] if args.key?(:allowed_values)
@deprecated = args[:deprecated] if args.key?(:deprecated)
@description = args[:description] if args.key?(:description)
@display_name = args[:display_name] if args.key?(:display_name)
@fields = args[:fields] if args.key?(:fields)
@immutable = args[:immutable] if args.key?(:immutable)
@max_value = args[:max_value] if args.key?(:max_value)
@min_value = args[:min_value] if args.key?(:min_value)
@param_id = args[:param_id] if args.key?(:param_id)
@recurse = args[:recurse] if args.key?(:recurse)
@repeated = args[:repeated] if args.key?(:repeated)
@required = args[:required] if args.key?(:required)
@type = args[:type] if args.key?(:type)
@validation_description = args[:validation_description] if args.key?(:validation_description)
@validation_help_url = args[:validation_help_url] if args.key?(:validation_help_url)
@validation_regex = args[:validation_regex] if args.key?(:validation_regex)
end
end
# Represents preferences for sending email notifications for transfer run events.
class EmailPreferences
include Google::Apis::Core::Hashable
# If true, email notifications will be sent on transfer run failures.
# Corresponds to the JSON property `enableFailureEmail`
# @return [Boolean]
attr_accessor :enable_failure_email
alias_method :enable_failure_email?, :enable_failure_email
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@enable_failure_email = args[:enable_failure_email] if args.key?(:enable_failure_email)
end
end
# A generic empty message that you can re-use to avoid defining duplicated empty
# messages in your APIs. A typical example is to use it as the request or the
# response type of an API method. For instance: service Foo ` rpc Bar(google.
# protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
# `Empty` is empty JSON object ````.
class Empty
include Google::Apis::Core::Hashable
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
end
end
# Returns list of supported data sources and their metadata.
class ListDataSourcesResponse
include Google::Apis::Core::Hashable
# List of supported data sources and their transfer settings.
# Corresponds to the JSON property `dataSources`
# @return [Array<Google::Apis::BigquerydatatransferV1::DataSource>]
attr_accessor :data_sources
# Output only. The next-pagination token. For multiple-page list results, this
# token can be used as the `ListDataSourcesRequest.page_token` to request the
# next page of list results.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@data_sources = args[:data_sources] if args.key?(:data_sources)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
end
end
# The response message for Locations.ListLocations.
class ListLocationsResponse
include Google::Apis::Core::Hashable
# A list of locations that matches the specified filter in the request.
# Corresponds to the JSON property `locations`
# @return [Array<Google::Apis::BigquerydatatransferV1::Location>]
attr_accessor :locations
# The standard List next-page token.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@locations = args[:locations] if args.key?(:locations)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
end
end
# The returned list of pipelines in the project.
class ListTransferConfigsResponse
include Google::Apis::Core::Hashable
# Output only. The next-pagination token. For multiple-page list results, this
# token can be used as the `ListTransferConfigsRequest.page_token` to request
# the next page of list results.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
# Output only. The stored pipeline transfer configurations.
# Corresponds to the JSON property `transferConfigs`
# @return [Array<Google::Apis::BigquerydatatransferV1::TransferConfig>]
attr_accessor :transfer_configs
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
@transfer_configs = args[:transfer_configs] if args.key?(:transfer_configs)
end
end
# The returned list transfer run messages.
class ListTransferLogsResponse
include Google::Apis::Core::Hashable
# Output only. The next-pagination token. For multiple-page list results, this
# token can be used as the `GetTransferRunLogRequest.page_token` to request the
# next page of list results.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
# Output only. The stored pipeline transfer messages.
# Corresponds to the JSON property `transferMessages`
# @return [Array<Google::Apis::BigquerydatatransferV1::TransferMessage>]
attr_accessor :transfer_messages
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
@transfer_messages = args[:transfer_messages] if args.key?(:transfer_messages)
end
end
# The returned list of pipelines in the project.
class ListTransferRunsResponse
include Google::Apis::Core::Hashable
# Output only. The next-pagination token. For multiple-page list results, this
# token can be used as the `ListTransferRunsRequest.page_token` to request the
# next page of list results.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
# Output only. The stored pipeline transfer runs.
# Corresponds to the JSON property `transferRuns`
# @return [Array<Google::Apis::BigquerydatatransferV1::TransferRun>]
attr_accessor :transfer_runs
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
@transfer_runs = args[:transfer_runs] if args.key?(:transfer_runs)
end
end
# A resource that represents Google Cloud Platform location.
class Location
include Google::Apis::Core::Hashable
# The friendly name for this location, typically a nearby city name. For example,
# "Tokyo".
# Corresponds to the JSON property `displayName`
# @return [String]
attr_accessor :display_name
# Cross-service attributes for the location. For example `"cloud.googleapis.com/
# region": "us-east1"`
# Corresponds to the JSON property `labels`
# @return [Hash<String,String>]
attr_accessor :labels
# The canonical id for this location. For example: `"us-east1"`.
# Corresponds to the JSON property `locationId`
# @return [String]
attr_accessor :location_id
# Service-specific metadata. For example the available capacity at the given
# location.
# Corresponds to the JSON property `metadata`
# @return [Hash<String,Object>]
attr_accessor :metadata
# Resource name for the location, which may vary between implementations. For
# example: `"projects/example-project/locations/us-east1"`
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@display_name = args[:display_name] if args.key?(:display_name)
@labels = args[:labels] if args.key?(:labels)
@location_id = args[:location_id] if args.key?(:location_id)
@metadata = args[:metadata] if args.key?(:metadata)
@name = args[:name] if args.key?(:name)
end
end
# Options customizing the data transfer schedule.
class ScheduleOptions
include Google::Apis::Core::Hashable
# If true, automatic scheduling of data transfer runs for this configuration
# will be disabled. The runs can be started on ad-hoc basis using
# StartManualTransferRuns API. When automatic scheduling is disabled, the
# TransferConfig.schedule field will be ignored.
# Corresponds to the JSON property `disableAutoScheduling`
# @return [Boolean]
attr_accessor :disable_auto_scheduling
alias_method :disable_auto_scheduling?, :disable_auto_scheduling
# 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.
# The time when a data transfer can be trigerred manually is not limited by this
# option.
# Corresponds to the JSON property `endTime`
# @return [String]
attr_accessor :end_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. The time
# when a data transfer can be trigerred manually is not limited by this option.
# Corresponds to the JSON property `startTime`
# @return [String]
attr_accessor :start_time
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@disable_auto_scheduling = args[:disable_auto_scheduling] if args.key?(:disable_auto_scheduling)
@end_time = args[:end_time] if args.key?(:end_time)
@start_time = args[:start_time] if args.key?(:start_time)
end
end
# A request to schedule transfer runs for a time range.
class ScheduleTransferRunsRequest
include Google::Apis::Core::Hashable
# Required. End time of the range of transfer runs. For example, `"2017-05-30T00:
# 00:00+00:00"`.
# Corresponds to the JSON property `endTime`
# @return [String]
attr_accessor :end_time
# Required. Start time of the range of transfer runs. For example, `"2017-05-
# 25T00:00:00+00:00"`.
# Corresponds to the JSON property `startTime`
# @return [String]
attr_accessor :start_time
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@end_time = args[:end_time] if args.key?(:end_time)
@start_time = args[:start_time] if args.key?(:start_time)
end
end
# A response to schedule transfer runs for a time range.
class ScheduleTransferRunsResponse
include Google::Apis::Core::Hashable
# The transfer runs that were scheduled.
# Corresponds to the JSON property `runs`
# @return [Array<Google::Apis::BigquerydatatransferV1::TransferRun>]
attr_accessor :runs
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@runs = args[:runs] if args.key?(:runs)
end
end
# A request to start manual transfer runs.
class StartManualTransferRunsRequest
include Google::Apis::Core::Hashable
# Specific run_time for a transfer run to be started. The requested_run_time
# must not be in the future.
# Corresponds to the JSON property `requestedRunTime`
# @return [String]
attr_accessor :requested_run_time
# A specification for a time range, this will request transfer runs with
# run_time between start_time (inclusive) and end_time (exclusive).
# Corresponds to the JSON property `requestedTimeRange`
# @return [Google::Apis::BigquerydatatransferV1::TimeRange]
attr_accessor :requested_time_range
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@requested_run_time = args[:requested_run_time] if args.key?(:requested_run_time)
@requested_time_range = args[:requested_time_range] if args.key?(:requested_time_range)
end
end
# A response to start manual transfer runs.
class StartManualTransferRunsResponse
include Google::Apis::Core::Hashable
# The transfer runs that were created.
# Corresponds to the JSON property `runs`
# @return [Array<Google::Apis::BigquerydatatransferV1::TransferRun>]
attr_accessor :runs
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@runs = args[:runs] if args.key?(:runs)
end
end
# The `Status` type defines a logical error model that is suitable for different
# programming environments, including REST APIs and RPC APIs. It is used by [
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
# data: error code, error message, and error details. You can find out more
# about this error model and how to work with it in the [API Design Guide](https:
# //cloud.google.com/apis/design/errors).
class Status
include Google::Apis::Core::Hashable
# The status code, which should be an enum value of google.rpc.Code.
# Corresponds to the JSON property `code`
# @return [Fixnum]
attr_accessor :code
# A list of messages that carry the error details. There is a common set of
# message types for APIs to use.
# Corresponds to the JSON property `details`
# @return [Array<Hash<String,Object>>]
attr_accessor :details
# A developer-facing error message, which should be in English. Any user-facing
# error message should be localized and sent in the google.rpc.Status.details
# field, or localized by the client.
# Corresponds to the JSON property `message`
# @return [String]
attr_accessor :message
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@code = args[:code] if args.key?(:code)
@details = args[:details] if args.key?(:details)
@message = args[:message] if args.key?(:message)
end
end
# A specification for a time range, this will request transfer runs with
# run_time between start_time (inclusive) and end_time (exclusive).
class TimeRange
include Google::Apis::Core::Hashable
# End time of the range of transfer runs. For example, `"2017-05-30T00:00:00+00:
# 00"`. The end_time must not be in the future. Creates transfer runs where
# run_time is in the range between start_time (inclusive) and end_time (
# exclusive).
# Corresponds to the JSON property `endTime`
# @return [String]
attr_accessor :end_time
# Start time of the range of transfer runs. For example, `"2017-05-25T00:00:00+
# 00:00"`. The start_time must be strictly less than the end_time. Creates
# transfer runs where run_time is in the range between start_time (inclusive)
# and end_time (exclusive).
# Corresponds to the JSON property `startTime`
# @return [String]
attr_accessor :start_time
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@end_time = args[:end_time] if args.key?(:end_time)
@start_time = args[:start_time] if args.key?(:start_time)
end
end
# Represents a data transfer configuration. A transfer configuration contains
# all metadata needed to perform a data transfer. For example, `
# destination_dataset_id` specifies where data should be stored. When a new
# transfer configuration is created, the specified `destination_dataset_id` is
# created when needed and shared with the appropriate data source service
# account.
class TransferConfig
include Google::Apis::Core::Hashable
# 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 for just [today-1]. Only
# valid if the data source supports the feature. Set the value to 0 to use the
# default value.
# Corresponds to the JSON property `dataRefreshWindowDays`
# @return [Fixnum]
attr_accessor :data_refresh_window_days
# Data source id. Cannot be changed once data transfer is created.
# Corresponds to the JSON property `dataSourceId`
# @return [String]
attr_accessor :data_source_id
# Output only. Region in which BigQuery dataset is located.
# Corresponds to the JSON property `datasetRegion`
# @return [String]
attr_accessor :dataset_region
# The BigQuery target dataset id.
# Corresponds to the JSON property `destinationDatasetId`
# @return [String]
attr_accessor :destination_dataset_id
# Is this config disabled. When set to true, no runs are scheduled for a given
# transfer.
# Corresponds to the JSON property `disabled`
# @return [Boolean]
attr_accessor :disabled
alias_method :disabled?, :disabled
# User specified display name for the data transfer.
# Corresponds to the JSON property `displayName`
# @return [String]
attr_accessor :display_name
# Represents preferences for sending email notifications for transfer run events.
# Corresponds to the JSON property `emailPreferences`
# @return [Google::Apis::BigquerydatatransferV1::EmailPreferences]
attr_accessor :email_preferences
# The resource name of the transfer config. Transfer config names have the form
# of `projects/`project_id`/locations/`region`/transferConfigs/`config_id``. The
# name is automatically generated based on the config_id specified in
# CreateTransferConfigRequest along with project_id and region. If config_id is
# not provided, usually a uuid, even though it is not guaranteed or required,
# will be generated for config_id.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# Output only. Next time when data transfer will run.
# Corresponds to the JSON property `nextRunTime`
# @return [String]
attr_accessor :next_run_time
# Pub/Sub topic where notifications will be sent after transfer runs associated
# with this transfer config finish.
# Corresponds to the JSON property `notificationPubsubTopic`
# @return [String]
attr_accessor :notification_pubsub_topic
# Data transfer specific parameters.
# Corresponds to the JSON property `params`
# @return [Hash<String,Object>]
attr_accessor :params
# 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 granularity should be at least 8 hours, or less
# frequent.
# Corresponds to the JSON property `schedule`
# @return [String]
attr_accessor :schedule
# Options customizing the data transfer schedule.
# Corresponds to the JSON property `scheduleOptions`
# @return [Google::Apis::BigquerydatatransferV1::ScheduleOptions]
attr_accessor :schedule_options
# Output only. State of the most recently updated transfer run.
# Corresponds to the JSON property `state`
# @return [String]
attr_accessor :state
# Output only. Data transfer modification time. Ignored by server on input.
# Corresponds to the JSON property `updateTime`
# @return [String]
attr_accessor :update_time
# Deprecated. Unique ID of the user on whose behalf transfer is done.
# Corresponds to the JSON property `userId`
# @return [Fixnum]
attr_accessor :user_id
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@data_refresh_window_days = args[:data_refresh_window_days] if args.key?(:data_refresh_window_days)
@data_source_id = args[:data_source_id] if args.key?(:data_source_id)
@dataset_region = args[:dataset_region] if args.key?(:dataset_region)
@destination_dataset_id = args[:destination_dataset_id] if args.key?(:destination_dataset_id)
@disabled = args[:disabled] if args.key?(:disabled)
@display_name = args[:display_name] if args.key?(:display_name)
@email_preferences = args[:email_preferences] if args.key?(:email_preferences)
@name = args[:name] if args.key?(:name)
@next_run_time = args[:next_run_time] if args.key?(:next_run_time)
@notification_pubsub_topic = args[:notification_pubsub_topic] if args.key?(:notification_pubsub_topic)
@params = args[:params] if args.key?(:params)
@schedule = args[:schedule] if args.key?(:schedule)
@schedule_options = args[:schedule_options] if args.key?(:schedule_options)
@state = args[:state] if args.key?(:state)
@update_time = args[:update_time] if args.key?(:update_time)
@user_id = args[:user_id] if args.key?(:user_id)
end
end
# Represents a user facing message for a particular data transfer run.
class TransferMessage
include Google::Apis::Core::Hashable
# Message text.
# Corresponds to the JSON property `messageText`
# @return [String]
attr_accessor :message_text
# Time when message was logged.
# Corresponds to the JSON property `messageTime`
# @return [String]
attr_accessor :message_time
# Message severity.
# Corresponds to the JSON property `severity`
# @return [String]
attr_accessor :severity
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@message_text = args[:message_text] if args.key?(:message_text)
@message_time = args[:message_time] if args.key?(:message_time)
@severity = args[:severity] if args.key?(:severity)
end
end
# Represents a data transfer run.
class TransferRun
include Google::Apis::Core::Hashable
# Output only. Data source id.
# Corresponds to the JSON property `dataSourceId`
# @return [String]
attr_accessor :data_source_id
# Output only. The BigQuery target dataset id.
# Corresponds to the JSON property `destinationDatasetId`
# @return [String]
attr_accessor :destination_dataset_id
# Represents preferences for sending email notifications for transfer run events.
# Corresponds to the JSON property `emailPreferences`
# @return [Google::Apis::BigquerydatatransferV1::EmailPreferences]
attr_accessor :email_preferences
# Output only. Time when transfer run ended. Parameter ignored by server for
# input requests.
# Corresponds to the JSON property `endTime`
# @return [String]
attr_accessor :end_time
# The `Status` type defines a logical error model that is suitable for different
# programming environments, including REST APIs and RPC APIs. It is used by [
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
# data: error code, error message, and error details. You can find out more
# about this error model and how to work with it in the [API Design Guide](https:
# //cloud.google.com/apis/design/errors).
# Corresponds to the JSON property `errorStatus`
# @return [Google::Apis::BigquerydatatransferV1::Status]
attr_accessor :error_status
# The resource name of the transfer run. Transfer run names have the form `
# projects/`project_id`/locations/`location`/transferConfigs/`config_id`/runs/`
# run_id``. The name is ignored when creating a transfer run.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# Output only. Pub/Sub topic where a notification will be sent after this
# transfer run finishes
# Corresponds to the JSON property `notificationPubsubTopic`
# @return [String]
attr_accessor :notification_pubsub_topic
# Output only. Data transfer specific parameters.
# Corresponds to the JSON property `params`
# @return [Hash<String,Object>]
attr_accessor :params
# For batch transfer runs, specifies the date and time of the data should be
# ingested.
# Corresponds to the JSON property `runTime`
# @return [String]
attr_accessor :run_time
# Output only. Describes the schedule of this transfer run if it was created as
# part of a regular schedule. For batch transfer runs that are scheduled
# manually, this is empty. NOTE: the system might choose to delay the schedule
# depending on the current load, so `schedule_time` doesn't always match this.
# Corresponds to the JSON property `schedule`
# @return [String]
attr_accessor :schedule
# Minimum time after which a transfer run can be started.
# Corresponds to the JSON property `scheduleTime`
# @return [String]
attr_accessor :schedule_time
# Output only. Time when transfer run was started. Parameter ignored by server
# for input requests.
# Corresponds to the JSON property `startTime`
# @return [String]
attr_accessor :start_time
# Data transfer run state. Ignored for input requests.
# Corresponds to the JSON property `state`
# @return [String]
attr_accessor :state
# Output only. Last time the data transfer run state was updated.
# Corresponds to the JSON property `updateTime`
# @return [String]
attr_accessor :update_time
# Deprecated. Unique ID of the user on whose behalf transfer is done.
# Corresponds to the JSON property `userId`
# @return [Fixnum]
attr_accessor :user_id
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@data_source_id = args[:data_source_id] if args.key?(:data_source_id)
@destination_dataset_id = args[:destination_dataset_id] if args.key?(:destination_dataset_id)
@email_preferences = args[:email_preferences] if args.key?(:email_preferences)
@end_time = args[:end_time] if args.key?(:end_time)
@error_status = args[:error_status] if args.key?(:error_status)
@name = args[:name] if args.key?(:name)
@notification_pubsub_topic = args[:notification_pubsub_topic] if args.key?(:notification_pubsub_topic)
@params = args[:params] if args.key?(:params)
@run_time = args[:run_time] if args.key?(:run_time)
@schedule = args[:schedule] if args.key?(:schedule)
@schedule_time = args[:schedule_time] if args.key?(:schedule_time)
@start_time = args[:start_time] if args.key?(:start_time)
@state = args[:state] if args.key?(:state)
@update_time = args[:update_time] if args.key?(:update_time)
@user_id = args[:user_id] if args.key?(:user_id)
end
end
end
end
end