"description":"Pagination token, which can be used to request a specific page\nof `ListDataSourcesRequest` list results. For multiple-page\nresults, `ListDataSourcesResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results.",
"description":"Returns true if valid credentials exist for the given data source and\nrequesting user.\nSome data sources doesn't support service account, so we need to talk to\nthem on behalf of the end user. This API just checks whether we have OAuth\ntoken for the particular user, which is a pre-requisite before user can\ncreate a transfer config.",
"description":"Updates a data transfer configuration.\nAll fields must be set, even if they are not updated.",
"httpMethod":"PATCH",
"parameterOrder":[
"name"
],
"response":{
"$ref":"TransferConfig"
},
"parameters":{
"authorizationCode":{
"location":"query",
"description":"Optional OAuth2 authorization code to use with this transfer configuration.\nIf it is provided, the transfer configuration will be associated with the\ngaia id of the authorizing user.\nIn order to obtain authorization_code, please make a\nrequest to\nhttps://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=\u003cdatatransferapiclientid\u003e&scope=\u003cdata_source_scopes\u003e&redirect_uri=\u003credirect_uri\u003e\n\n* client_id should be OAuth client_id of BigQuery DTS API for the given\n data source returned by ListDataSources method.\n* data_source_scopes are the scopes returned by ListDataSources method.\n* redirect_uri is an optional parameter. If not specified, then\n authorization code is posted to the opener of authorization flow window.\n Otherwise it will be sent to the redirect uri. A special value of\n urn:ietf:wg:oauth:2.0:oob means that authorization code should be\n returned in the title bar of the browser, with the page text prompting\n the user to copy the code and paste it in the application.",
"type":"string"
},
"updateMask":{
"location":"query",
"description":"Required list of fields to be updated in this request.",
"format":"google-fieldmask",
"type":"string"
},
"name":{
"description":"The resource name of the transfer config.\nTransfer config names have the form\n`projects/{project_id}/transferConfigs/{config_id}`.\nWhere `config_id` is usually a uuid, even though it is not\nguaranteed or required. The name is ignored when creating a transfer\nconfig.",
"description":"Deletes a data transfer configuration,\nincluding any associated transfer runs and logs."
},
"list":{
"response":{
"$ref":"ListTransferConfigsResponse"
},
"parameterOrder":[
"parent"
],
"httpMethod":"GET",
"parameters":{
"pageToken":{
"description":"Pagination token, which can be used to request a specific page\nof `ListTransfersRequest` list results. For multiple-page\nresults, `ListTransfersResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results.",
"type":"string",
"location":"query"
},
"pageSize":{
"type":"integer",
"location":"query",
"description":"Page size. The default page size is the maximum value of 1000 results.",
"format":"int32"
},
"parent":{
"pattern":"^projects/[^/]+/locations/[^/]+$",
"location":"path",
"description":"The BigQuery project id for which data sources\nshould be returned: `projects/{project_id}`.",
"required":true,
"type":"string"
},
"dataSourceIds":{
"description":"When specified, only configurations of requested data sources are returned.",
"description":"Returns information about all data transfers in the project."
},
"create":{
"response":{
"$ref":"TransferConfig"
},
"parameterOrder":[
"parent"
],
"httpMethod":"POST",
"parameters":{
"authorizationCode":{
"description":"Optional OAuth2 authorization code to use with this transfer configuration.\nThis is required if new credentials are needed, as indicated by\n`CheckValidCreds`.\nIn order to obtain authorization_code, please make a\nrequest to\nhttps://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=\u003cdatatransferapiclientid\u003e&scope=\u003cdata_source_scopes\u003e&redirect_uri=\u003credirect_uri\u003e\n\n* client_id should be OAuth client_id of BigQuery DTS API for the given\n data source returned by ListDataSources method.\n* data_source_scopes are the scopes returned by ListDataSources method.\n* redirect_uri is an optional parameter. If not specified, then\n authorization code is posted to the opener of authorization flow window.\n Otherwise it will be sent to the redirect uri. A special value of\n urn:ietf:wg:oauth:2.0:oob means that authorization code should be\n returned in the title bar of the browser, with the page text prompting\n the user to copy the code and paste it in the application.",
"description":"The BigQuery project id where the transfer configuration should be created.\nMust be in the format /projects/{project_id}/locations/{location_id}\nor\n/projects/{project_id}/locations/-\nIn case when '-' is specified as location_id, location is infered from\nthe destination dataset region.",
"description":"Creates transfer runs for a time range [range_start_time, range_end_time].\nFor each date - or whatever granularity the data source supports - in the\nrange, one transfer run is created.\nNote that runs are created per UTC time in the time range."
"description":"Deletes the specified transfer run.",
"httpMethod":"DELETE",
"response":{
"$ref":"Empty"
},
"parameterOrder":[
"name"
],
"parameters":{
"name":{
"description":"The field will contain name of the resource requested, for example:\n`projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}`",
"description":"The field will contain name of the resource requested, for example:\n`projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}`",
"description":"Name of transfer configuration for which transfer runs should be retrieved.\nFormat of transfer configuration resource name is:\n`projects/{project_id}/transferConfigs/{config_id}`.",
"description":"Pagination token, which can be used to request a specific page\nof `ListTransferRunsRequest` list results. For multiple-page\nresults, `ListTransferRunsResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results.",
"description":"Pagination token, which can be used to request a specific page\nof `ListTransferLogsRequest` list results. For multiple-page\nresults, `ListTransferLogsResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results."
"description":"Pagination token, which can be used to request a specific page\nof `ListDataSourcesRequest` list results. For multiple-page\nresults, `ListDataSourcesResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results.",
"description":"Returns true if valid credentials exist for the given data source and\nrequesting user.\nSome data sources doesn't support service account, so we need to talk to\nthem on behalf of the end user. This API just checks whether we have OAuth\ntoken for the particular user, which is a pre-requisite before user can\ncreate a transfer config.",
"description":"The resource name of the transfer config.\nTransfer config names have the form\n`projects/{project_id}/transferConfigs/{config_id}`.\nWhere `config_id` is usually a uuid, even though it is not\nguaranteed or required. The name is ignored when creating a transfer\nconfig."
"description":"Optional OAuth2 authorization code to use with this transfer configuration.\nIf it is provided, the transfer configuration will be associated with the\ngaia id of the authorizing user.\nIn order to obtain authorization_code, please make a\nrequest to\nhttps://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=\u003cdatatransferapiclientid\u003e&scope=\u003cdata_source_scopes\u003e&redirect_uri=\u003credirect_uri\u003e\n\n* client_id should be OAuth client_id of BigQuery DTS API for the given\n data source returned by ListDataSources method.\n* data_source_scopes are the scopes returned by ListDataSources method.\n* redirect_uri is an optional parameter. If not specified, then\n authorization code is posted to the opener of authorization flow window.\n Otherwise it will be sent to the redirect uri. A special value of\n urn:ietf:wg:oauth:2.0:oob means that authorization code should be\n returned in the title bar of the browser, with the page text prompting\n the user to copy the code and paste it in the application.",
"description":"Pagination token, which can be used to request a specific page\nof `ListTransfersRequest` list results. For multiple-page\nresults, `ListTransfersResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results."
},
"pageSize":{
"location":"query",
"description":"Page size. The default page size is the maximum value of 1000 results.",
"format":"int32",
"type":"integer"
},
"parent":{
"description":"The BigQuery project id for which data sources\nshould be returned: `projects/{project_id}`.",
"required":true,
"type":"string",
"pattern":"^projects/[^/]+$",
"location":"path"
},
"dataSourceIds":{
"repeated":true,
"location":"query",
"description":"When specified, only configurations of requested data sources are returned.",
"description":"Creates a new data transfer configuration.",
"request":{
"$ref":"TransferConfig"
},
"response":{
"$ref":"TransferConfig"
},
"parameterOrder":[
"parent"
],
"httpMethod":"POST",
"scopes":[
"https://www.googleapis.com/auth/bigquery",
"https://www.googleapis.com/auth/cloud-platform"
],
"parameters":{
"authorizationCode":{
"type":"string",
"location":"query",
"description":"Optional OAuth2 authorization code to use with this transfer configuration.\nThis is required if new credentials are needed, as indicated by\n`CheckValidCreds`.\nIn order to obtain authorization_code, please make a\nrequest to\nhttps://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=\u003cdatatransferapiclientid\u003e&scope=\u003cdata_source_scopes\u003e&redirect_uri=\u003credirect_uri\u003e\n\n* client_id should be OAuth client_id of BigQuery DTS API for the given\n data source returned by ListDataSources method.\n* data_source_scopes are the scopes returned by ListDataSources method.\n* redirect_uri is an optional parameter. If not specified, then\n authorization code is posted to the opener of authorization flow window.\n Otherwise it will be sent to the redirect uri. A special value of\n urn:ietf:wg:oauth:2.0:oob means that authorization code should be\n returned in the title bar of the browser, with the page text prompting\n the user to copy the code and paste it in the application."
},
"parent":{
"description":"The BigQuery project id where the transfer configuration should be created.\nMust be in the format /projects/{project_id}/locations/{location_id}\nor\n/projects/{project_id}/locations/-\nIn case when '-' is specified as location_id, location is infered from\nthe destination dataset region.",
"description":"Creates transfer runs for a time range [range_start_time, range_end_time].\nFor each date - or whatever granularity the data source supports - in the\nrange, one transfer run is created.\nNote that runs are created per UTC time in the time range."
"description":"The field will contain name of the resource requested, for example:\n`projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}`",
"description":"The field will contain name of the resource requested, for example:\n`projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}`",
"description":"Pagination token, which can be used to request a specific page\nof `ListTransferRunsRequest` list results. For multiple-page\nresults, `ListTransferRunsResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results.",
"type":"string"
},
"states":{
"repeated":true,
"location":"query",
"enum":[
"TRANSFER_STATE_UNSPECIFIED",
"INACTIVE",
"PENDING",
"RUNNING",
"SUCCEEDED",
"FAILED",
"CANCELLED"
],
"description":"When specified, only transfer runs with requested states are returned.",
"type":"string"
},
"pageSize":{
"description":"Page size. The default page size is the maximum value of 1000 results.",
"format":"int32",
"type":"integer",
"location":"query"
},
"runAttempt":{
"location":"query",
"enum":[
"RUN_ATTEMPT_UNSPECIFIED",
"LATEST"
],
"description":"Indicates how run attempts are to be pulled.",
"type":"string"
},
"parent":{
"location":"path",
"description":"Name of transfer configuration for which transfer runs should be retrieved.\nFormat of transfer configuration resource name is:\n`projects/{project_id}/transferConfigs/{config_id}`.",
"description":"Pagination token, which can be used to request a specific page\nof `ListTransferLogsRequest` list results. For multiple-page\nresults, `ListTransferLogsResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results.",
"description":"API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
"description":"Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
"description":"Default data transfer schedule.\nExamples of valid schedules include:\n`1st,3rd monday of month 15:30`,\n`every wed,fri of jan,jun 13:15`, and\n`first sunday of quarter 00:00`.",
"Streaming data transfer. Streaming data source currently doesn't\nsupport multiple transfer configs per project."
],
"enum":[
"TRANSFER_TYPE_UNSPECIFIED",
"BATCH",
"STREAMING"
],
"description":"Transfer type. Currently supports only batch transfers,\nwhich are transfers that use the BigQuery batch APIs (load or\nquery) to ingest the data.",
"description":"Api auth scopes for which refresh token needs to be obtained. Only valid\nwhen `client_id` is specified. Ignored otherwise. These are scopes needed\nby a data source to prepare data and ingest them into BigQuery,\ne.g., https://www.googleapis.com/auth/bigquery",
"description":"Data source client id which should be used to receive refresh token.\nWhen not supplied, no offline credentials are populated for data transfer.",
"type":"string"
},
"authorizationType":{
"type":"string",
"enumDescriptions":[
"Type unspecified.",
"Use OAuth 2 authorization codes that can be exchanged\nfor a refresh token on the backend.",
"Return an authorization code for a given Google+ page that can then be\nexchanged for a refresh token on the backend."
"description":"Specifies whether the data source supports a user defined schedule, or\noperates on the default schedule.\nWhen set to `true`, user can override default schedule."
"The data source won't support data auto refresh, which is default value.",
"The data source supports data auto refresh, and runs will be scheduled\nfor the past few days. Does not allow custom values to be set for each\ntransfer config.",
"The data source supports data auto refresh, and runs will be scheduled\nfor the past few days. Allows custom values to be set for each transfer\nconfig."
"description":"Specifies whether the data source supports automatic data refresh for the\npast few days, and how it's supported.\nFor some data sources, data might not be complete until a few days later,\nso it's useful to refresh data automatically."
"description":"A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
"description":"Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`"
"description":"Represents a data transfer configuration. A transfer configuration\ncontains all metadata needed to perform a data transfer. For example,\n`destination_dataset_id` specifies where data should be stored.\nWhen a new transfer configuration is created, the specified\n`destination_dataset_id` is created when needed and shared with the\nappropriate data source service account.",
"Data transfer is scheduled and is waiting to be picked up by\ndata transfer backend.",
"Data transfer is in progress.",
"Data transfer completed successsfully.",
"Data transfer failed.",
"Data transfer is cancelled."
],
"enum":[
"TRANSFER_STATE_UNSPECIFIED",
"INACTIVE",
"PENDING",
"RUNNING",
"SUCCEEDED",
"FAILED",
"CANCELLED"
],
"description":"Output only. State of the most recently updated transfer run."
},
"name":{
"description":"The resource name of the transfer config.\nTransfer config names have the form\n`projects/{project_id}/transferConfigs/{config_id}`.\nWhere `config_id` is usually a uuid, even though it is not\nguaranteed or required. The name is ignored when creating a transfer\nconfig.",
"type":"string"
},
"destinationDatasetId":{
"description":"The BigQuery target dataset id.",
"type":"string"
},
"userId":{
"description":"Output only. Unique ID of the user on whose behalf transfer is done.\nApplicable only to data sources that do not support service accounts.\nWhen set to 0, the data source service account credentials are used.",
"description":"Data transfer schedule.\nIf the data source does not support a custom schedule, this should be\nempty. If it is empty, the default value for the data source will be\nused.\nThe specified times are in UTC.\nExamples of valid format:\n`1st,3rd monday of month 15:30`,\n`every wed,fri of jan,jun 13:15`, and\n`first sunday of quarter 00:00`.\nSee more explanation about the format here:\nhttps://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format\nNOTE: the granularity should be at least 8 hours, or less frequent.",
"type":"string"
},
"updateTime":{
"description":"Output only. Data transfer modification time. Ignored by server on input.",
"format":"google-datetime",
"type":"string"
},
"dataRefreshWindowDays":{
"description":"The number of days to look back to automatically refresh the data.\nFor example, if `data_refresh_window_days = 10`, then every day\nBigQuery reingests data for [today-10, today-1], rather than ingesting data\nfor just [today-1].\nOnly valid if the data source supports the feature. Set the value to 0\nto use the default value.",
"format":"int32",
"type":"integer"
},
"dataSourceId":{
"description":"Data source id. Cannot be changed once data transfer is created.",
"type":"string"
}
},
"id":"TransferConfig"
},
"TransferRun":{
"description":"Represents a data transfer run.",
"type":"object",
"properties":{
"params":{
"type":"object",
"additionalProperties":{
"description":"Properties of the object.",
"type":"any"
},
"description":"Data transfer specific parameters."
},
"endTime":{
"description":"Output only. Time when transfer run ended.\nParameter ignored by server for input requests.",
"format":"google-datetime",
"type":"string"
},
"startTime":{
"description":"Output only. Time when transfer run was started.\nParameter ignored by server for input requests.",
"format":"google-datetime",
"type":"string"
},
"datasetRegion":{
"description":"Output only. Region in which BigQuery dataset is located.",
"type":"string"
},
"scheduleTime":{
"description":"Minimum time after which a transfer run can be started.",
"format":"google-datetime",
"type":"string"
},
"updateTime":{
"description":"Output only. Last time the data transfer run state was updated.",
"description":"Output only. Describes the schedule of this transfer run if it was\ncreated as part of a regular schedule. For batch transfer runs that are\nscheduled manually, this is empty.\nNOTE: the system might choose to delay the schedule depending on the\ncurrent load, so `schedule_time` doesn't always matches this.",
"description":"Output only. Data transfer run state. Ignored for input requests.",
"type":"string"
},
"destinationDatasetId":{
"description":"The BigQuery target dataset id.",
"type":"string"
},
"name":{
"description":"The resource name of the transfer run.\nTransfer run names have the form\n`projects/{project_id}/locations/{location}/transferConfigs/{config_id}/runs/{run_id}`.\nThe name is ignored when creating a transfer run.",
"description":"Output only. Unique ID of the user on whose behalf transfer is done.\nApplicable only to data sources that do not support service accounts.\nWhen set to 0, the data source service account credentials are used.",
"description":"A request to determine whether the user has valid credentials. This method\nis used to limit the number of OAuth popups in the user interface. The\nuser id is inferred from the API call context.\nIf the data source has the Google+ authorization type, this method\nreturns false, as it cannot be determined whether the credentials are\nalready valid merely based on the user id.",
"type":"object",
"properties":{}
},
"CheckValidCredsResponse":{
"description":"A response indicating whether the credentials exist and are valid.",
"type":"object",
"properties":{
"hasValidCreds":{
"description":"If set to `true`, the credentials exist and are valid.",
"type":"boolean"
}
},
"id":"CheckValidCredsResponse"
},
"ScheduleTransferRunsResponse":{
"type":"object",
"properties":{
"runs":{
"description":"The transfer runs that were scheduled.",
"type":"array",
"items":{
"$ref":"TransferRun"
}
}
},
"id":"ScheduleTransferRunsResponse",
"description":"A response to schedule transfer runs for a time range."
},
"ListTransferLogsResponse":{
"description":"The returned list transfer run messages.",
"type":"object",
"properties":{
"nextPageToken":{
"description":"Output only. The next-pagination token. For multiple-page list results,\nthis token can be used as the\n`GetTransferRunLogRequest.page_token`\nto request the next page of list results.",
"description":"Output only. The next-pagination token. For multiple-page list results,\nthis token can be used as the\n`ListDataSourcesRequest.page_token`\nto request the next page of list results.",
"type":"string"
}
},
"id":"ListDataSourcesResponse",
"description":"Returns list of supported data sources and their metadata."
},
"DataSourceParameter":{
"description":"Represents a data source parameter with validation rules, so that\nparameters can be rendered in the UI. These parameters are given to us by\nsupported data sources, and include all needed information for rendering\nand validation.\nThus, whoever uses this api can decide to generate either generic ui,\nor custom data source specific forms.",
"type":"object",
"properties":{
"fields":{
"description":"When parameter is a record, describes child fields.",
"description":"For integer and double values specifies maxminum allowed value.",
"format":"double",
"type":"number"
},
"type":{
"enumDescriptions":[
"Type unspecified.",
"String parameter.",
"Integer parameter (64-bits).\nWill be serialized to json as string.",
"Double precision floating point parameter.",
"Boolean parameter.",
"Record parameter.",
"Page ID for a Google+ Page."
],
"enum":[
"TYPE_UNSPECIFIED",
"STRING",
"INTEGER",
"DOUBLE",
"BOOLEAN",
"RECORD",
"PLUS_PAGE"
],
"description":"Parameter type.",
"type":"string"
},
"recurse":{
"description":"If set to true, schema should be taken from the parent with the same\nparameter_id. Only applicable when parameter type is RECORD.",
"type":"boolean"
},
"description":{
"description":"Parameter description.",
"type":"string"
},
"allowedValues":{
"description":"All possible values for the parameter.",
"type":"array",
"items":{
"type":"string"
}
},
"minValue":{
"description":"For integer and double values specifies minimum allowed value.",
"format":"double",
"type":"number"
},
"validationHelpUrl":{
"description":"URL to a help document to further explain the naming requirements.",
"type":"string"
},
"validationRegex":{
"description":"Regular expression which can be used for parameter validation.",
"type":"string"
},
"paramId":{
"description":"Parameter identifier.",
"type":"string"
},
"required":{
"description":"Is parameter required.",
"type":"boolean"
},
"repeated":{
"description":"Can parameter have multiple values.",
"type":"boolean"
},
"displayName":{
"description":"Parameter display name in the user interface.",
"type":"string"
},
"immutable":{
"description":"Cannot be changed after initial creation.",
"type":"boolean"
},
"validationDescription":{
"description":"Description of the requirements for this field, in case the user input does\nnot fulfill the regex pattern or min/max values.",
"type":"string"
}
},
"id":"DataSourceParameter"
},
"ListTransferRunsResponse":{
"description":"The returned list of pipelines in the project.",
"type":"object",
"properties":{
"transferRuns":{
"description":"Output only. The stored pipeline transfer runs.",
"type":"array",
"items":{
"$ref":"TransferRun"
}
},
"nextPageToken":{
"description":"Output only. The next-pagination token. For multiple-page list results,\nthis token can be used as the\n`ListTransferRunsRequest.page_token`\nto request the next page of list results.",
"type":"string"
}
},
"id":"ListTransferRunsResponse"
},
"ListLocationsResponse":{
"id":"ListLocationsResponse",
"description":"The response message for Locations.ListLocations.",
"type":"object",
"properties":{
"nextPageToken":{
"description":"The standard List next-page token.",
"type":"string"
},
"locations":{
"description":"A list of locations that matches the specified filter in the request.",
"description":"Output only. The stored pipeline transfer configurations.",
"type":"array",
"items":{
"$ref":"TransferConfig"
}
},
"nextPageToken":{
"type":"string",
"description":"Output only. The next-pagination token. For multiple-page list results,\nthis token can be used as the\n`ListTransferConfigsRequest.page_token`\nto request the next page of list results."
}
},
"id":"ListTransferConfigsResponse",
"description":"The returned list of pipelines in the project.",