Class: Google::Apis::BigquerydatatransferV1::TransferConfig

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/bigquerydatatransfer_v1/classes.rb,
lib/google/apis/bigquerydatatransfer_v1/representations.rb,
lib/google/apis/bigquerydatatransfer_v1/representations.rb

Overview

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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ TransferConfig

Returns a new instance of TransferConfig.



872
873
874
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 872

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#data_refresh_window_daysFixnum

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

Returns:

  • (Fixnum)


769
770
771
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 769

def data_refresh_window_days
  @data_refresh_window_days
end

#data_source_idString

Data source ID. This cannot be changed once data transfer is created. The full list of available data source IDs can be returned through an API call: https:// cloud.google.com/bigquery-transfer/docs/reference/datatransfer/rest/v1/ projects.locations.dataSources/list Corresponds to the JSON property dataSourceId

Returns:

  • (String)


777
778
779
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 777

def data_source_id
  @data_source_id
end

#dataset_regionString

Output only. Region in which BigQuery dataset is located. Corresponds to the JSON property datasetRegion

Returns:

  • (String)


782
783
784
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 782

def dataset_region
  @dataset_region
end

#destination_dataset_idString

The BigQuery target dataset id. Corresponds to the JSON property destinationDatasetId

Returns:

  • (String)


787
788
789
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 787

def destination_dataset_id
  @destination_dataset_id
end

#disabledBoolean Also known as: disabled?

Is this config disabled. When set to true, no runs are scheduled for a given transfer. Corresponds to the JSON property disabled

Returns:

  • (Boolean)


793
794
795
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 793

def disabled
  @disabled
end

#display_nameString

User specified display name for the data transfer. Corresponds to the JSON property displayName

Returns:

  • (String)


799
800
801
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 799

def display_name
  @display_name
end

#email_preferencesGoogle::Apis::BigquerydatatransferV1::EmailPreferences

Represents preferences for sending email notifications for transfer run events. Corresponds to the JSON property emailPreferences



804
805
806
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 804

def email_preferences
  @email_preferences
end

#nameString

The resource name of the transfer config. Transfer config names have the form projects/project_id/locations/region/transferConfigs/config_id`. Where config_idis usually a uuid, even though it is not guaranteed or required. The name is ignored when creating a transfer config. Corresponds to the JSON propertyname`

Returns:

  • (String)


812
813
814
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 812

def name
  @name
end

#next_run_timeString

Output only. Next time when data transfer will run. Corresponds to the JSON property nextRunTime

Returns:

  • (String)


817
818
819
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 817

def next_run_time
  @next_run_time
end

#notification_pubsub_topicString

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/topics/topic` Corresponds to the JSON propertynotificationPubsubTopic`

Returns:

  • (String)


824
825
826
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 824

def notification_pubsub_topic
  @notification_pubsub_topic
end

#owner_infoGoogle::Apis::BigquerydatatransferV1::UserInfo

Information about a user. Corresponds to the JSON property ownerInfo



829
830
831
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 829

def owner_info
  @owner_info
end

#paramsHash<String,Object>

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 Corresponds to the JSON property params

Returns:

  • (Hash<String,Object>)


837
838
839
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 837

def params
  @params
end

#scheduleString

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. Corresponds to the JSON property schedule

Returns:

  • (String)


850
851
852
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 850

def schedule
  @schedule
end

#schedule_optionsGoogle::Apis::BigquerydatatransferV1::ScheduleOptions

Options customizing the data transfer schedule. Corresponds to the JSON property scheduleOptions



855
856
857
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 855

def schedule_options
  @schedule_options
end

#stateString

Output only. State of the most recently updated transfer run. Corresponds to the JSON property state

Returns:

  • (String)


860
861
862
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 860

def state
  @state
end

#update_timeString

Output only. Data transfer modification time. Ignored by server on input. Corresponds to the JSON property updateTime

Returns:

  • (String)


865
866
867
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 865

def update_time
  @update_time
end

#user_idFixnum

Deprecated. Unique ID of the user on whose behalf transfer is done. Corresponds to the JSON property userId

Returns:

  • (Fixnum)


870
871
872
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 870

def user_id
  @user_id
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 877

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)
  @owner_info = args[:owner_info] if args.key?(:owner_info)
  @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