# BigQuery Data Transfer API . projects . dataSources

## Instance Methods

Returns true if valid credentials exist for the given data source and requesting user. Some data sources doesn't support service account, so we need to talk to them on behalf of the end user. This API just checks whether we have OAuth token for the particular user, which is a pre-requisite before user can create a transfer config.

Close httplib2 connections.

Retrieves a supported data source and returns its settings, which can be used for UI rendering.

Lists supported data sources and returns their settings, which can be used for UI rendering.

Retrieves the next page of results.

### Method Details

`checkValidCreds(name, body=None, x__xgafv=None)`

    Returns true if valid credentials exist for the given data source and requesting user. Some data sources doesn't support service account, so we need to talk to them on behalf of the end user. This API just checks whether we have OAuth token for the particular user, which is a pre-requisite before user can create a transfer config.

    Args:
      name: string, Required. The data source in the form: `projects/{project_id}/dataSources/{data_source_id}` or `projects/{project_id}/locations/{location_id}/dataSources/{data_source_id}`. (required)
      body: object, The request body.
        The object takes the form of:

    { # 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.
    }

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

    Returns:
      An object of the form:

        { # A response indicating whether the credentials exist and are valid.
      "hasValidCreds": True or False, # If set to `true`, the credentials exist and are valid.
    }

`close()`

    Close httplib2 connections.

`get(name, x__xgafv=None)`

    Retrieves a supported data source and returns its settings, which can be used for UI rendering.

    Args:
      name: string, Required. The field will contain name of the resource requested, for example: `projects/{project_id}/dataSources/{data_source_id}` or `projects/{project_id}/locations/{location_id}/dataSources/{data_source_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 data source metadata. Metadata is sufficient to render UI and request proper OAuth tokens.
      "authorizationType": "A String", # Indicates the type of authorization.
      "clientId": "A String", # Data source client id which should be used to receive refresh token.
      "dataRefreshType": "A String", # 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.
      "dataSourceId": "A String", # Data source id.
      "defaultDataRefreshWindowDays": 42, # Default data refresh window on days. Only meaningful when `data_refresh_type` = `SLIDING_WINDOW`.
      "defaultSchedule": "A String", # 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`.
      "description": "A String", # User friendly data source description string.
      "displayName": "A String", # User friendly data source name.
      "helpUrl": "A String", # Url for the help document for this data source.
      "manualRunsDisabled": True or False, # Disables backfilling and manual run scheduling for the data source.
      "minimumScheduleInterval": "A String", # The minimum interval for scheduler to schedule runs.
      "name": "A String", # Output only. Data source resource name.
      "parameters": [ # Data source parameters.
        { # 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.
          "allowedValues": [ # All possible values for the parameter.
            "A String",
          ],
          "deprecated": True or False, # If true, it should not be used in new transfers, and it should not be visible to users.
          "description": "A String", # Parameter description.
          "displayName": "A String", # Parameter display name in the user interface.
          "fields": [ # Deprecated. This field has no effect.
            # Object with schema name: DataSourceParameter
          ],
          "immutable": True or False, # Cannot be changed after initial creation.
          "maxValue": 3.14, # For integer and double values specifies maxminum allowed value.
          "minValue": 3.14, # For integer and double values specifies minimum allowed value.
          "paramId": "A String", # Parameter identifier.
          "recurse": True or False, # Deprecated. This field has no effect.
          "repeated": True or False, # Deprecated. This field has no effect.
          "required": True or False, # Is parameter required.
          "type": "A String", # Parameter type.
          "validationDescription": "A String", # Description of the requirements for this field, in case the user input does not fulfill the regex pattern or min/max values.
          "validationHelpUrl": "A String", # URL to a help document to further explain the naming requirements.
          "validationRegex": "A String", # Regular expression which can be used for parameter validation.
        },
      ],
      "scopes": [ # 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
        "A String",
      ],
      "supportsCustomSchedule": True or False, # 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.
      "supportsMultipleTransfers": True or False, # Deprecated. This field has no effect.
      "transferType": "A String", # Deprecated. This field has no effect.
      "updateDeadlineSeconds": 42, # The number of seconds to wait for an update from the data source before the Data Transfer Service marks the transfer as FAILED.
    }

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

    Lists supported data sources and returns their settings, which can be used for UI rendering.

    Args:
      parent: string, Required. The BigQuery project id for which data sources should be returned. Must be in the form: `projects/{project_id}` or `projects/{project_id}/locations/{location_id} (required)
      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 `ListDataSourcesRequest` list results. For multiple-page results, `ListDataSourcesResponse` 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:

        { # Returns list of supported data sources and their metadata.
      "dataSources": [ # List of supported data sources and their transfer settings.
        { # Represents data source metadata. Metadata is sufficient to render UI and request proper OAuth tokens.
          "authorizationType": "A String", # Indicates the type of authorization.
          "clientId": "A String", # Data source client id which should be used to receive refresh token.
          "dataRefreshType": "A String", # 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.
          "dataSourceId": "A String", # Data source id.
          "defaultDataRefreshWindowDays": 42, # Default data refresh window on days. Only meaningful when `data_refresh_type` = `SLIDING_WINDOW`.
          "defaultSchedule": "A String", # 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`.
          "description": "A String", # User friendly data source description string.
          "displayName": "A String", # User friendly data source name.
          "helpUrl": "A String", # Url for the help document for this data source.
          "manualRunsDisabled": True or False, # Disables backfilling and manual run scheduling for the data source.
          "minimumScheduleInterval": "A String", # The minimum interval for scheduler to schedule runs.
          "name": "A String", # Output only. Data source resource name.
          "parameters": [ # Data source parameters.
            { # 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.
              "allowedValues": [ # All possible values for the parameter.
                "A String",
              ],
              "deprecated": True or False, # If true, it should not be used in new transfers, and it should not be visible to users.
              "description": "A String", # Parameter description.
              "displayName": "A String", # Parameter display name in the user interface.
              "fields": [ # Deprecated. This field has no effect.
                # Object with schema name: DataSourceParameter
              ],
              "immutable": True or False, # Cannot be changed after initial creation.
              "maxValue": 3.14, # For integer and double values specifies maxminum allowed value.
              "minValue": 3.14, # For integer and double values specifies minimum allowed value.
              "paramId": "A String", # Parameter identifier.
              "recurse": True or False, # Deprecated. This field has no effect.
              "repeated": True or False, # Deprecated. This field has no effect.
              "required": True or False, # Is parameter required.
              "type": "A String", # Parameter type.
              "validationDescription": "A String", # Description of the requirements for this field, in case the user input does not fulfill the regex pattern or min/max values.
              "validationHelpUrl": "A String", # URL to a help document to further explain the naming requirements.
              "validationRegex": "A String", # Regular expression which can be used for parameter validation.
            },
          ],
          "scopes": [ # 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
            "A String",
          ],
          "supportsCustomSchedule": True or False, # 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.
          "supportsMultipleTransfers": True or False, # Deprecated. This field has no effect.
          "transferType": "A String", # Deprecated. This field has no effect.
          "updateDeadlineSeconds": 42, # The number of seconds to wait for an update from the data source before the Data Transfer Service marks the transfer as FAILED.
        },
      ],
      "nextPageToken": "A String", # 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.
    }

`list_next(previous_request, previous_response)`

    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.