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.



1173
1174
1175
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1173

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)


1036
1037
1038
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1036

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)


1044
1045
1046
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1044

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)


1049
1050
1051
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1049

def dataset_region
  @dataset_region
end

#destination_dataset_idString

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

Returns:

  • (String)


1054
1055
1056
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1054

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)


1060
1061
1062
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1060

def disabled
  @disabled
end

#display_nameString

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

Returns:

  • (String)


1066
1067
1068
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1066

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



1071
1072
1073
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1071

def email_preferences
  @email_preferences
end

#encryption_configurationGoogle::Apis::BigquerydatatransferV1::EncryptionConfiguration

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



1076
1077
1078
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1076

def encryption_configuration
  @encryption_configuration
end

#errorGoogle::Apis::BigquerydatatransferV1::Status

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



1086
1087
1088
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1086

def error
  @error
end

#managed_table_typeString

The classification of the destination table. Corresponds to the JSON property managedTableType

Returns:

  • (String)


1091
1092
1093
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1091

def managed_table_type
  @managed_table_type
end

#metadata_destinationGoogle::Apis::BigquerydatatransferV1::MetadataDestination

The metadata destination of the transfer config. Corresponds to the JSON property metadataDestination



1096
1097
1098
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1096

def 
  @metadata_destination
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)


1105
1106
1107
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1105

def name
  @name
end

#next_run_timeString

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

Returns:

  • (String)


1110
1111
1112
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1110

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)


1117
1118
1119
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1117

def notification_pubsub_topic
  @notification_pubsub_topic
end

#owner_infoGoogle::Apis::BigquerydatatransferV1::UserInfo

Information about a user. Corresponds to the JSON property ownerInfo



1122
1123
1124
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1122

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


1130
1131
1132
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1130

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)


1143
1144
1145
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1143

def schedule
  @schedule
end

#schedule_optionsGoogle::Apis::BigquerydatatransferV1::ScheduleOptions

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



1148
1149
1150
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1148

def schedule_options
  @schedule_options
end

#schedule_options_v2Google::Apis::BigquerydatatransferV1::ScheduleOptionsV2

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



1156
1157
1158
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1156

def schedule_options_v2
  @schedule_options_v2
end

#stateString

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

Returns:

  • (String)


1161
1162
1163
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1161

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)


1166
1167
1168
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1166

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)


1171
1172
1173
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1171

def user_id
  @user_id
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
# File 'lib/google/apis/bigquerydatatransfer_v1/classes.rb', line 1178

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