BigQuery Data Transfer API . projects . transferConfigs

Instance Methods

runs()

Returns the runs Resource.

close()

Close httplib2 connections.

create(parent, authorizationCode=None, body=None, serviceAccountName=None, versionInfo=None, x__xgafv=None)

Creates a new data transfer configuration.

delete(name, x__xgafv=None)

Deletes a data transfer configuration, including any associated transfer runs and logs.

get(name, x__xgafv=None)

Returns information about a data transfer config.

list(parent, dataSourceIds=None, pageSize=None, pageToken=None, x__xgafv=None)

Returns information about all transfer configs owned by a project in the specified location.

list_next()

Retrieves the next page of results.

patch(name, authorizationCode=None, body=None, serviceAccountName=None, updateMask=None, versionInfo=None, x__xgafv=None)

Updates a data transfer configuration. All fields must be set, even if they are not updated.

scheduleRuns(parent, body=None, x__xgafv=None)

Creates transfer runs for a time range [start_time, end_time]. For each date - or whatever granularity the data source supports - in the range, one transfer run is created. Note that runs are created per UTC time in the time range. DEPRECATED: use StartManualTransferRuns instead.

startManualRuns(parent, body=None, x__xgafv=None)

Start manual transfer runs to be executed now with schedule_time equal to current time. The transfer runs can be created for a time range where the run_time is between start_time (inclusive) and end_time (exclusive), or for a specific run_time.

Method Details

close()
Close httplib2 connections.
create(parent, authorizationCode=None, body=None, serviceAccountName=None, versionInfo=None, x__xgafv=None)
Creates a new data transfer configuration.

Args:
  parent: string, Required. The BigQuery project id where the transfer configuration should be created. Must be in the format projects/{project_id}/locations/{location_id} or projects/{project_id}. If specified location and location of the destination bigquery dataset do not match - the request will fail. (required)
  body: object, The request body.
    The object takes the form of:

{ # 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.
  "dataRefreshWindowDays": 42, # 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.
  "dataSourceId": "A String", # 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
  "datasetRegion": "A String", # Output only. Region in which BigQuery dataset is located.
  "destinationDatasetId": "A String", # The BigQuery target dataset id.
  "disabled": True or False, # Is this config disabled. When set to true, no runs will be scheduled for this transfer config.
  "displayName": "A String", # User specified display name for the data transfer.
  "emailPreferences": { # Represents preferences for sending email notifications for transfer run events. # Email notifications will be sent according to these preferences to the email address of the user who owns this transfer config.
    "enableFailureEmail": True or False, # If true, email notifications will be sent on transfer run failures.
  },
  "encryptionConfiguration": { # Represents the encryption configuration for a transfer. # 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.
    "kmsKeyName": "A String", # The name of the KMS key used for encrypting BigQuery data.
  },
  "name": "A String", # 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": "A String", # Output only. Next time when data transfer will run.
  "notificationPubsubTopic": "A String", # 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}`
  "ownerInfo": { # Information about a user. # Output only. Information about the user whose credentials are used to transfer data. Populated only for `transferConfigs.get` requests. In case the user information is not available, this field will not be populated.
    "email": "A String", # E-mail address of the user.
  },
  "params": { # 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
    "a_key": "", # Properties of the object.
  },
  "schedule": "A String", # 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": { # Options customizing the data transfer schedule. # Options customizing the data transfer schedule.
    "disableAutoScheduling": True or False, # 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.
    "endTime": "A String", # 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 triggered manually is not limited by this option.
    "startTime": "A String", # 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 triggered manually is not limited by this option.
  },
  "state": "A String", # Output only. State of the most recently updated transfer run.
  "updateTime": "A String", # Output only. Data transfer modification time. Ignored by server on input.
  "userId": "A String", # Deprecated. Unique ID of the user on whose behalf transfer is done.
}

  authorizationCode: string, Optional OAuth2 authorization code to use with this transfer configuration. This is required only if `transferConfig.dataSourceId` is 'youtube_channel' and new credentials are needed, as indicated by `CheckValidCreds`. In order to obtain authorization_code, make a request to the following URL: https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=authorization_code&client_id=client_id&scope=data_source_scopes * The client_id is the OAuth client_id of the a data source as returned by ListDataSources method. * data_source_scopes are the scopes returned by ListDataSources method. Note that this should not be set when `service_account_name` is used to create the transfer config.
  serviceAccountName: string, Optional service account email. If this field is set, the transfer config will be created with this service account's credentials. It requires that the requesting user calling this API has permissions to act as this service account. Note that not all data sources support service account credentials when creating a transfer config. For the latest list of data sources, read about [using service accounts](https://cloud.google.com/bigquery-transfer/docs/use-service-accounts).
  versionInfo: string, Optional version info. This is required only if `transferConfig.dataSourceId` is not 'youtube_channel' and new credentials are needed, as indicated by `CheckValidCreds`. In order to obtain version info, make a request to the following URL: https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=version_info&client_id=client_id&scope=data_source_scopes * The client_id is the OAuth client_id of the a data source as returned by ListDataSources method. * data_source_scopes are the scopes returned by ListDataSources method. Note that this should not be set when `service_account_name` is used to create the transfer config.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # 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.
  "dataRefreshWindowDays": 42, # 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.
  "dataSourceId": "A String", # 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
  "datasetRegion": "A String", # Output only. Region in which BigQuery dataset is located.
  "destinationDatasetId": "A String", # The BigQuery target dataset id.
  "disabled": True or False, # Is this config disabled. When set to true, no runs will be scheduled for this transfer config.
  "displayName": "A String", # User specified display name for the data transfer.
  "emailPreferences": { # Represents preferences for sending email notifications for transfer run events. # Email notifications will be sent according to these preferences to the email address of the user who owns this transfer config.
    "enableFailureEmail": True or False, # If true, email notifications will be sent on transfer run failures.
  },
  "encryptionConfiguration": { # Represents the encryption configuration for a transfer. # 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.
    "kmsKeyName": "A String", # The name of the KMS key used for encrypting BigQuery data.
  },
  "name": "A String", # 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": "A String", # Output only. Next time when data transfer will run.
  "notificationPubsubTopic": "A String", # 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}`
  "ownerInfo": { # Information about a user. # Output only. Information about the user whose credentials are used to transfer data. Populated only for `transferConfigs.get` requests. In case the user information is not available, this field will not be populated.
    "email": "A String", # E-mail address of the user.
  },
  "params": { # 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
    "a_key": "", # Properties of the object.
  },
  "schedule": "A String", # 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": { # Options customizing the data transfer schedule. # Options customizing the data transfer schedule.
    "disableAutoScheduling": True or False, # 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.
    "endTime": "A String", # 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 triggered manually is not limited by this option.
    "startTime": "A String", # 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 triggered manually is not limited by this option.
  },
  "state": "A String", # Output only. State of the most recently updated transfer run.
  "updateTime": "A String", # Output only. Data transfer modification time. Ignored by server on input.
  "userId": "A String", # Deprecated. Unique ID of the user on whose behalf transfer is done.
}
delete(name, x__xgafv=None)
Deletes a data transfer configuration, including any associated transfer runs and logs.

Args:
  name: string, Required. The field will contain name of the resource requested, for example: `projects/{project_id}/transferConfigs/{config_id}` or `projects/{project_id}/locations/{location_id}/transferConfigs/{config_id}` (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # 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); }
}
get(name, x__xgafv=None)
Returns information about a data transfer config.

Args:
  name: string, Required. The field will contain name of the resource requested, for example: `projects/{project_id}/transferConfigs/{config_id}` or `projects/{project_id}/locations/{location_id}/transferConfigs/{config_id}` (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # 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.
  "dataRefreshWindowDays": 42, # 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.
  "dataSourceId": "A String", # 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
  "datasetRegion": "A String", # Output only. Region in which BigQuery dataset is located.
  "destinationDatasetId": "A String", # The BigQuery target dataset id.
  "disabled": True or False, # Is this config disabled. When set to true, no runs will be scheduled for this transfer config.
  "displayName": "A String", # User specified display name for the data transfer.
  "emailPreferences": { # Represents preferences for sending email notifications for transfer run events. # Email notifications will be sent according to these preferences to the email address of the user who owns this transfer config.
    "enableFailureEmail": True or False, # If true, email notifications will be sent on transfer run failures.
  },
  "encryptionConfiguration": { # Represents the encryption configuration for a transfer. # 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.
    "kmsKeyName": "A String", # The name of the KMS key used for encrypting BigQuery data.
  },
  "name": "A String", # 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": "A String", # Output only. Next time when data transfer will run.
  "notificationPubsubTopic": "A String", # 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}`
  "ownerInfo": { # Information about a user. # Output only. Information about the user whose credentials are used to transfer data. Populated only for `transferConfigs.get` requests. In case the user information is not available, this field will not be populated.
    "email": "A String", # E-mail address of the user.
  },
  "params": { # 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
    "a_key": "", # Properties of the object.
  },
  "schedule": "A String", # 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": { # Options customizing the data transfer schedule. # Options customizing the data transfer schedule.
    "disableAutoScheduling": True or False, # 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.
    "endTime": "A String", # 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 triggered manually is not limited by this option.
    "startTime": "A String", # 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 triggered manually is not limited by this option.
  },
  "state": "A String", # Output only. State of the most recently updated transfer run.
  "updateTime": "A String", # Output only. Data transfer modification time. Ignored by server on input.
  "userId": "A String", # Deprecated. Unique ID of the user on whose behalf transfer is done.
}
list(parent, dataSourceIds=None, pageSize=None, pageToken=None, x__xgafv=None)
Returns information about all transfer configs owned by a project in the specified location.

Args:
  parent: string, Required. The BigQuery project id for which transfer configs should be returned: `projects/{project_id}` or `projects/{project_id}/locations/{location_id}` (required)
  dataSourceIds: string, When specified, only configurations of requested data sources are returned. (repeated)
  pageSize: integer, Page size. The default page size is the maximum value of 1000 results.
  pageToken: string, Pagination token, which can be used to request a specific page of `ListTransfersRequest` list results. For multiple-page results, `ListTransfersResponse` outputs a `next_page` token, which can be used as the `page_token` value to request the next page of list results.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The returned list of pipelines in the project.
  "nextPageToken": "A String", # 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.
  "transferConfigs": [ # Output only. The stored pipeline transfer configurations.
    { # 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.
      "dataRefreshWindowDays": 42, # 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.
      "dataSourceId": "A String", # 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
      "datasetRegion": "A String", # Output only. Region in which BigQuery dataset is located.
      "destinationDatasetId": "A String", # The BigQuery target dataset id.
      "disabled": True or False, # Is this config disabled. When set to true, no runs will be scheduled for this transfer config.
      "displayName": "A String", # User specified display name for the data transfer.
      "emailPreferences": { # Represents preferences for sending email notifications for transfer run events. # Email notifications will be sent according to these preferences to the email address of the user who owns this transfer config.
        "enableFailureEmail": True or False, # If true, email notifications will be sent on transfer run failures.
      },
      "encryptionConfiguration": { # Represents the encryption configuration for a transfer. # 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.
        "kmsKeyName": "A String", # The name of the KMS key used for encrypting BigQuery data.
      },
      "name": "A String", # 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": "A String", # Output only. Next time when data transfer will run.
      "notificationPubsubTopic": "A String", # 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}`
      "ownerInfo": { # Information about a user. # Output only. Information about the user whose credentials are used to transfer data. Populated only for `transferConfigs.get` requests. In case the user information is not available, this field will not be populated.
        "email": "A String", # E-mail address of the user.
      },
      "params": { # 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
        "a_key": "", # Properties of the object.
      },
      "schedule": "A String", # 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": { # Options customizing the data transfer schedule. # Options customizing the data transfer schedule.
        "disableAutoScheduling": True or False, # 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.
        "endTime": "A String", # 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 triggered manually is not limited by this option.
        "startTime": "A String", # 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 triggered manually is not limited by this option.
      },
      "state": "A String", # Output only. State of the most recently updated transfer run.
      "updateTime": "A String", # Output only. Data transfer modification time. Ignored by server on input.
      "userId": "A String", # Deprecated. Unique ID of the user on whose behalf transfer is done.
    },
  ],
}
list_next()
Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call 'execute()' on to request the next
          page. Returns None if there are no more items in the collection.
        
patch(name, authorizationCode=None, body=None, serviceAccountName=None, updateMask=None, versionInfo=None, x__xgafv=None)
Updates a data transfer configuration. All fields must be set, even if they are not updated.

Args:
  name: string, 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. (required)
  body: object, The request body.
    The object takes the form of:

{ # 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.
  "dataRefreshWindowDays": 42, # 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.
  "dataSourceId": "A String", # 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
  "datasetRegion": "A String", # Output only. Region in which BigQuery dataset is located.
  "destinationDatasetId": "A String", # The BigQuery target dataset id.
  "disabled": True or False, # Is this config disabled. When set to true, no runs will be scheduled for this transfer config.
  "displayName": "A String", # User specified display name for the data transfer.
  "emailPreferences": { # Represents preferences for sending email notifications for transfer run events. # Email notifications will be sent according to these preferences to the email address of the user who owns this transfer config.
    "enableFailureEmail": True or False, # If true, email notifications will be sent on transfer run failures.
  },
  "encryptionConfiguration": { # Represents the encryption configuration for a transfer. # 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.
    "kmsKeyName": "A String", # The name of the KMS key used for encrypting BigQuery data.
  },
  "name": "A String", # 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": "A String", # Output only. Next time when data transfer will run.
  "notificationPubsubTopic": "A String", # 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}`
  "ownerInfo": { # Information about a user. # Output only. Information about the user whose credentials are used to transfer data. Populated only for `transferConfigs.get` requests. In case the user information is not available, this field will not be populated.
    "email": "A String", # E-mail address of the user.
  },
  "params": { # 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
    "a_key": "", # Properties of the object.
  },
  "schedule": "A String", # 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": { # Options customizing the data transfer schedule. # Options customizing the data transfer schedule.
    "disableAutoScheduling": True or False, # 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.
    "endTime": "A String", # 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 triggered manually is not limited by this option.
    "startTime": "A String", # 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 triggered manually is not limited by this option.
  },
  "state": "A String", # Output only. State of the most recently updated transfer run.
  "updateTime": "A String", # Output only. Data transfer modification time. Ignored by server on input.
  "userId": "A String", # Deprecated. Unique ID of the user on whose behalf transfer is done.
}

  authorizationCode: string, Optional OAuth2 authorization code to use with this transfer configuration. This is required only if `transferConfig.dataSourceId` is 'youtube_channel' and new credentials are needed, as indicated by `CheckValidCreds`. In order to obtain authorization_code, make a request to the following URL: https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=authorization_code&client_id=client_id&scope=data_source_scopes * The client_id is the OAuth client_id of the a data source as returned by ListDataSources method. * data_source_scopes are the scopes returned by ListDataSources method. Note that this should not be set when `service_account_name` is used to update the transfer config.
  serviceAccountName: string, Optional service account email. If this field is set, the transfer config will be created with this service account's credentials. It requires that the requesting user calling this API has permissions to act as this service account. Note that not all data sources support service account credentials when creating a transfer config. For the latest list of data sources, read about [using service accounts](https://cloud.google.com/bigquery-transfer/docs/use-service-accounts).
  updateMask: string, Required. Required list of fields to be updated in this request.
  versionInfo: string, Optional version info. This is required only if `transferConfig.dataSourceId` is not 'youtube_channel' and new credentials are needed, as indicated by `CheckValidCreds`. In order to obtain version info, make a request to the following URL: https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=version_info&client_id=client_id&scope=data_source_scopes * The client_id is the OAuth client_id of the a data source as returned by ListDataSources method. * data_source_scopes are the scopes returned by ListDataSources method. Note that this should not be set when `service_account_name` is used to update the transfer config.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # 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.
  "dataRefreshWindowDays": 42, # 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.
  "dataSourceId": "A String", # 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
  "datasetRegion": "A String", # Output only. Region in which BigQuery dataset is located.
  "destinationDatasetId": "A String", # The BigQuery target dataset id.
  "disabled": True or False, # Is this config disabled. When set to true, no runs will be scheduled for this transfer config.
  "displayName": "A String", # User specified display name for the data transfer.
  "emailPreferences": { # Represents preferences for sending email notifications for transfer run events. # Email notifications will be sent according to these preferences to the email address of the user who owns this transfer config.
    "enableFailureEmail": True or False, # If true, email notifications will be sent on transfer run failures.
  },
  "encryptionConfiguration": { # Represents the encryption configuration for a transfer. # 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.
    "kmsKeyName": "A String", # The name of the KMS key used for encrypting BigQuery data.
  },
  "name": "A String", # 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": "A String", # Output only. Next time when data transfer will run.
  "notificationPubsubTopic": "A String", # 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}`
  "ownerInfo": { # Information about a user. # Output only. Information about the user whose credentials are used to transfer data. Populated only for `transferConfigs.get` requests. In case the user information is not available, this field will not be populated.
    "email": "A String", # E-mail address of the user.
  },
  "params": { # 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
    "a_key": "", # Properties of the object.
  },
  "schedule": "A String", # 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": { # Options customizing the data transfer schedule. # Options customizing the data transfer schedule.
    "disableAutoScheduling": True or False, # 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.
    "endTime": "A String", # 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 triggered manually is not limited by this option.
    "startTime": "A String", # 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 triggered manually is not limited by this option.
  },
  "state": "A String", # Output only. State of the most recently updated transfer run.
  "updateTime": "A String", # Output only. Data transfer modification time. Ignored by server on input.
  "userId": "A String", # Deprecated. Unique ID of the user on whose behalf transfer is done.
}
scheduleRuns(parent, body=None, x__xgafv=None)
Creates transfer runs for a time range [start_time, end_time]. For each date - or whatever granularity the data source supports - in the range, one transfer run is created. Note that runs are created per UTC time in the time range. DEPRECATED: use StartManualTransferRuns instead.

Args:
  parent: string, Required. Transfer configuration name in the form: `projects/{project_id}/transferConfigs/{config_id}` or `projects/{project_id}/locations/{location_id}/transferConfigs/{config_id}`. (required)
  body: object, The request body.
    The object takes the form of:

{ # A request to schedule transfer runs for a time range.
  "endTime": "A String", # Required. End time of the range of transfer runs. For example, `"2017-05-30T00:00:00+00:00"`.
  "startTime": "A String", # Required. Start time of the range of transfer runs. For example, `"2017-05-25T00:00:00+00:00"`.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A response to schedule transfer runs for a time range.
  "runs": [ # The transfer runs that were scheduled.
    { # Represents a data transfer run.
      "dataSourceId": "A String", # Output only. Data source id.
      "destinationDatasetId": "A String", # Output only. The BigQuery target dataset id.
      "emailPreferences": { # Represents preferences for sending email notifications for transfer run events. # Output only. Email notifications will be sent according to these preferences to the email address of the user who owns the transfer config this run was derived from.
        "enableFailureEmail": True or False, # If true, email notifications will be sent on transfer run failures.
      },
      "endTime": "A String", # Output only. Time when transfer run ended. Parameter ignored by server for input requests.
      "errorStatus": { # 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). # Status of the transfer run.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # 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.
      },
      "name": "A String", # Identifier. 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.
      "notificationPubsubTopic": "A String", # Output only. Pub/Sub topic where a notification will be sent after this transfer run finishes. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}`
      "params": { # Output only. 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
        "a_key": "", # Properties of the object.
      },
      "runTime": "A String", # For batch transfer runs, specifies the date and time of the data should be ingested.
      "schedule": "A String", # 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.
      "scheduleTime": "A String", # Minimum time after which a transfer run can be started.
      "startTime": "A String", # Output only. Time when transfer run was started. Parameter ignored by server for input requests.
      "state": "A String", # Data transfer run state. Ignored for input requests.
      "updateTime": "A String", # Output only. Last time the data transfer run state was updated.
      "userId": "A String", # Deprecated. Unique ID of the user on whose behalf transfer is done.
    },
  ],
}
startManualRuns(parent, body=None, x__xgafv=None)
Start manual transfer runs to be executed now with schedule_time equal to current time. The transfer runs can be created for a time range where the run_time is between start_time (inclusive) and end_time (exclusive), or for a specific run_time.

Args:
  parent: string, Required. Transfer configuration name in the form: `projects/{project_id}/transferConfigs/{config_id}` or `projects/{project_id}/locations/{location_id}/transferConfigs/{config_id}`. (required)
  body: object, The request body.
    The object takes the form of:

{ # A request to start manual transfer runs.
  "requestedRunTime": "A String", # A run_time timestamp for historical data files or reports that are scheduled to be transferred by the scheduled transfer run. requested_run_time must be a past time and cannot include future time values.
  "requestedTimeRange": { # A specification for a time range, this will request transfer runs with run_time between start_time (inclusive) and end_time (exclusive). # A time_range start and end timestamp for historical data files or reports that are scheduled to be transferred by the scheduled transfer run. requested_time_range must be a past time and cannot include future time values.
    "endTime": "A String", # 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).
    "startTime": "A String", # 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).
  },
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A response to start manual transfer runs.
  "runs": [ # The transfer runs that were created.
    { # Represents a data transfer run.
      "dataSourceId": "A String", # Output only. Data source id.
      "destinationDatasetId": "A String", # Output only. The BigQuery target dataset id.
      "emailPreferences": { # Represents preferences for sending email notifications for transfer run events. # Output only. Email notifications will be sent according to these preferences to the email address of the user who owns the transfer config this run was derived from.
        "enableFailureEmail": True or False, # If true, email notifications will be sent on transfer run failures.
      },
      "endTime": "A String", # Output only. Time when transfer run ended. Parameter ignored by server for input requests.
      "errorStatus": { # 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). # Status of the transfer run.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # 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.
      },
      "name": "A String", # Identifier. 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.
      "notificationPubsubTopic": "A String", # Output only. Pub/Sub topic where a notification will be sent after this transfer run finishes. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}`
      "params": { # Output only. 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
        "a_key": "", # Properties of the object.
      },
      "runTime": "A String", # For batch transfer runs, specifies the date and time of the data should be ingested.
      "schedule": "A String", # 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.
      "scheduleTime": "A String", # Minimum time after which a transfer run can be started.
      "startTime": "A String", # Output only. Time when transfer run was started. Parameter ignored by server for input requests.
      "state": "A String", # Data transfer run state. Ignored for input requests.
      "updateTime": "A String", # Output only. Last time the data transfer run state was updated.
      "userId": "A String", # Deprecated. Unique ID of the user on whose behalf transfer is done.
    },
  ],
}