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.



898
899
900
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 898

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)


789
790
791
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 789

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)


797
798
799
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 797

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)


802
803
804
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 802

def dataset_region
  @dataset_region
end

#destination_dataset_idString

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

Returns:

  • (String)


807
808
809
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 807

def destination_dataset_id
  @destination_dataset_id
end

#disabledBoolean Also known as: disabled?

Is this config disabled. When set to true, no runs will be scheduled for this transfer config. Corresponds to the JSON property disabled

Returns:

  • (Boolean)


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

def disabled
  @disabled
end

#display_nameString

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

Returns:

  • (String)


819
820
821
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 819

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



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

def email_preferences
  @email_preferences
end

#encryption_configurationGoogle::Apis::BigquerydatatransferV1::EncryptionConfiguration

Represents the encryption configuration for a transfer. Corresponds to the JSON property encryptionConfiguration



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

def encryption_configuration
  @encryption_configuration
end

#nameString

Identifier. The resource name of the transfer config. Transfer config names have the form either projects/project_id/locations/region/transferConfigs/ config_idor `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. Corresponds to the JSON property name

Returns:

  • (String)


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

def name
  @name
end

#next_run_timeString

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

Returns:

  • (String)


843
844
845
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 843

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

Returns:

  • (String)


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

def notification_pubsub_topic
  @notification_pubsub_topic
end

#owner_infoGoogle::Apis::BigquerydatatransferV1::UserInfo

Information about a user. Corresponds to the JSON property ownerInfo



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

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>)


863
864
865
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 863

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)


876
877
878
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 876

def schedule
  @schedule
end

#schedule_optionsGoogle::Apis::BigquerydatatransferV1::ScheduleOptions

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



881
882
883
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 881

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)


886
887
888
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 886

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)


891
892
893
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 891

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)


896
897
898
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 896

def user_id
  @user_id
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 903

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