googleapis
Version:
Google APIs Client Library for Node.js
810 lines (809 loc) • 29.5 kB
TypeScript
/**
* Copyright 2015 Google Inc. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { AxiosPromise } from 'axios';
import { GoogleApis } from '../..';
import { BodyResponseCallback, GlobalOptions, MethodOptions } from '../../lib/api';
/**
* Prediction API
*
* Lets you access a cloud hosted machine learning service that makes it easy to
* build smart apps
*
* @example
* const google = require('googleapis');
* const prediction = google.prediction('v1.6');
*
* @namespace prediction
* @type {Function}
* @version v1.6
* @variation v1.6
* @param {object=} options Options for Prediction
*/
export declare class Prediction {
_options: GlobalOptions;
google: GoogleApis;
root: this;
hostedmodels: Resource$Hostedmodels;
trainedmodels: Resource$Trainedmodels;
constructor(options: GlobalOptions, google: GoogleApis);
getRoot(): this;
}
export interface Schema$Analyze {
/**
* Description of the data the model was trained on.
*/
dataDescription: any;
/**
* List of errors with the data.
*/
errors: any[];
/**
* The unique name for the predictive model.
*/
id: string;
/**
* What kind of resource this is.
*/
kind: string;
/**
* Description of the model.
*/
modelDescription: any;
/**
* A URL to re-request this resource.
*/
selfLink: string;
}
export interface Schema$Input {
/**
* Input to the model for a prediction.
*/
input: any;
}
export interface Schema$Insert {
/**
* The unique name for the predictive model.
*/
id: string;
/**
* Type of predictive model (classification or regression).
*/
modelType: string;
/**
* The Id of the model to be copied over.
*/
sourceModel: string;
/**
* Google storage location of the training data file.
*/
storageDataLocation: string;
/**
* Google storage location of the preprocessing pmml file.
*/
storagePMMLLocation: string;
/**
* Google storage location of the pmml model file.
*/
storagePMMLModelLocation: string;
/**
* Instances to train model on.
*/
trainingInstances: any[];
/**
* A class weighting function, which allows the importance weights for class
* labels to be specified (Categorical models only).
*/
utility: any[];
}
export interface Schema$Insert2 {
/**
* Insert time of the model (as a RFC 3339 timestamp).
*/
created: string;
/**
* The unique name for the predictive model.
*/
id: string;
/**
* What kind of resource this is.
*/
kind: string;
/**
* Model metadata.
*/
modelInfo: any;
/**
* Type of predictive model (CLASSIFICATION or REGRESSION).
*/
modelType: string;
/**
* A URL to re-request this resource.
*/
selfLink: string;
/**
* Google storage location of the training data file.
*/
storageDataLocation: string;
/**
* Google storage location of the preprocessing pmml file.
*/
storagePMMLLocation: string;
/**
* Google storage location of the pmml model file.
*/
storagePMMLModelLocation: string;
/**
* Training completion time (as a RFC 3339 timestamp).
*/
trainingComplete: string;
/**
* The current status of the training job. This can be one of following:
* RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
*/
trainingStatus: string;
}
export interface Schema$List {
/**
* List of models.
*/
items: Schema$Insert2[];
/**
* What kind of resource this is.
*/
kind: string;
/**
* Pagination token to fetch the next page, if one exists.
*/
nextPageToken: string;
/**
* A URL to re-request this resource.
*/
selfLink: string;
}
export interface Schema$Output {
/**
* The unique name for the predictive model.
*/
id: string;
/**
* What kind of resource this is.
*/
kind: string;
/**
* The most likely class label (Categorical models only).
*/
outputLabel: string;
/**
* A list of class labels with their estimated probabilities (Categorical
* models only).
*/
outputMulti: any[];
/**
* The estimated regression value (Regression models only).
*/
outputValue: string;
/**
* A URL to re-request this resource.
*/
selfLink: string;
}
export interface Schema$Update {
/**
* The input features for this instance.
*/
csvInstance: any[];
/**
* The generic output value - could be regression or class label.
*/
output: string;
}
export declare class Resource$Hostedmodels {
root: Prediction;
constructor(root: Prediction);
getRoot(): Prediction;
/**
* prediction.hostedmodels.predict
* @desc Submit input and request an output against a hosted model.
* @example
* * // BEFORE RUNNING:
* // ---------------
* // 1. If not already done, enable the Prediction API
* // and check the quota for your project at
* // https://console.developers.google.com/apis/api/prediction
* // 2. This sample uses Application Default Credentials for authentication.
* // If not already done, install the gcloud CLI from
* // https://cloud.google.com/sdk and run
* // `gcloud beta auth application-default login`.
* // For more information, see
* //
* https://developers.google.com/identity/protocols/application-default-credentials
* // 3. Install the Node.js client library by running
* // `npm install googleapis --save`
*
* var google = require('googleapis');
* var prediction = google.prediction('v1.6');
*
* authorize(function(authClient) {
* var request = {
* // The project associated with the model.
* project: 'my-project', // TODO: Update placeholder value.
*
* // The name of a hosted model.
* hostedModelName: 'my-hosted-model-name', // TODO: Update placeholder
* value.
*
* resource: {
* // TODO: Add desired properties to the request body.
* },
*
* auth: authClient,
* };
*
* prediction.hostedmodels.predict(request, function(err, response) {
* if (err) {
* console.error(err);
* return;
* }
*
* // TODO: Change code below to process the `response` object:
* console.log(JSON.stringify(response, null, 2));
* });
* });
*
* function authorize(callback) {
* google.auth.getApplicationDefault(function(err, authClient) {
* if (err) {
* console.error('authentication failed: ', err);
* return;
* }
* if (authClient.createScopedRequired &&
* authClient.createScopedRequired()) { var scopes =
* ['https://www.googleapis.com/auth/cloud-platform']; authClient =
* authClient.createScoped(scopes);
* }
* callback(authClient);
* });
* }
* @alias prediction.hostedmodels.predict
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.hostedModelName The name of a hosted model.
* @param {string} params.project The project associated with the model.
* @param {().Input} params.resource Request body data
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
predict(params?: any, options?: MethodOptions): AxiosPromise<Schema$Output>;
predict(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Output>, callback?: BodyResponseCallback<Schema$Output>): void;
}
export declare class Resource$Trainedmodels {
root: Prediction;
constructor(root: Prediction);
getRoot(): Prediction;
/**
* prediction.trainedmodels.analyze
* @desc Get analysis of the model and the data the model was trained on.
* @example
* * // BEFORE RUNNING:
* // ---------------
* // 1. If not already done, enable the Prediction API
* // and check the quota for your project at
* // https://console.developers.google.com/apis/api/prediction
* // 2. This sample uses Application Default Credentials for authentication.
* // If not already done, install the gcloud CLI from
* // https://cloud.google.com/sdk and run
* // `gcloud beta auth application-default login`.
* // For more information, see
* //
* https://developers.google.com/identity/protocols/application-default-credentials
* // 3. Install the Node.js client library by running
* // `npm install googleapis --save`
*
* var google = require('googleapis');
* var prediction = google.prediction('v1.6');
*
* authorize(function(authClient) {
* var request = {
* // The project associated with the model.
* project: 'my-project', // TODO: Update placeholder value.
*
* // The unique name for the predictive model.
* id: 'my-id', // TODO: Update placeholder value.
*
* auth: authClient,
* };
*
* prediction.trainedmodels.analyze(request, function(err, response) {
* if (err) {
* console.error(err);
* return;
* }
*
* // TODO: Change code below to process the `response` object:
* console.log(JSON.stringify(response, null, 2));
* });
* });
*
* function authorize(callback) {
* google.auth.getApplicationDefault(function(err, authClient) {
* if (err) {
* console.error('authentication failed: ', err);
* return;
* }
* if (authClient.createScopedRequired &&
* authClient.createScopedRequired()) { var scopes =
* ['https://www.googleapis.com/auth/cloud-platform']; authClient =
* authClient.createScoped(scopes);
* }
* callback(authClient);
* });
* }
* @alias prediction.trainedmodels.analyze
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.id The unique name for the predictive model.
* @param {string} params.project The project associated with the model.
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
analyze(params?: any, options?: MethodOptions): AxiosPromise<Schema$Analyze>;
analyze(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Analyze>, callback?: BodyResponseCallback<Schema$Analyze>): void;
/**
* prediction.trainedmodels.delete
* @desc Delete a trained model.
* @example
* * // BEFORE RUNNING:
* // ---------------
* // 1. If not already done, enable the Prediction API
* // and check the quota for your project at
* // https://console.developers.google.com/apis/api/prediction
* // 2. This sample uses Application Default Credentials for authentication.
* // If not already done, install the gcloud CLI from
* // https://cloud.google.com/sdk and run
* // `gcloud beta auth application-default login`.
* // For more information, see
* //
* https://developers.google.com/identity/protocols/application-default-credentials
* // 3. Install the Node.js client library by running
* // `npm install googleapis --save`
*
* var google = require('googleapis');
* var prediction = google.prediction('v1.6');
*
* authorize(function(authClient) {
* var request = {
* // The project associated with the model.
* project: 'my-project', // TODO: Update placeholder value.
*
* // The unique name for the predictive model.
* id: 'my-id', // TODO: Update placeholder value.
*
* auth: authClient,
* };
*
* prediction.trainedmodels.delete(request, function(err) {
* if (err) {
* console.error(err);
* return;
* }
* });
* });
*
* function authorize(callback) {
* google.auth.getApplicationDefault(function(err, authClient) {
* if (err) {
* console.error('authentication failed: ', err);
* return;
* }
* if (authClient.createScopedRequired &&
* authClient.createScopedRequired()) { var scopes =
* ['https://www.googleapis.com/auth/cloud-platform']; authClient =
* authClient.createScoped(scopes);
* }
* callback(authClient);
* });
* }
* @alias prediction.trainedmodels.delete
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.id The unique name for the predictive model.
* @param {string} params.project The project associated with the model.
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
delete(params?: any, options?: MethodOptions): AxiosPromise<void>;
delete(params?: any, options?: MethodOptions | BodyResponseCallback<void>, callback?: BodyResponseCallback<void>): void;
/**
* prediction.trainedmodels.get
* @desc Check training status of your model.
* @example
* * // BEFORE RUNNING:
* // ---------------
* // 1. If not already done, enable the Prediction API
* // and check the quota for your project at
* // https://console.developers.google.com/apis/api/prediction
* // 2. This sample uses Application Default Credentials for authentication.
* // If not already done, install the gcloud CLI from
* // https://cloud.google.com/sdk and run
* // `gcloud beta auth application-default login`.
* // For more information, see
* //
* https://developers.google.com/identity/protocols/application-default-credentials
* // 3. Install the Node.js client library by running
* // `npm install googleapis --save`
*
* var google = require('googleapis');
* var prediction = google.prediction('v1.6');
*
* authorize(function(authClient) {
* var request = {
* // The project associated with the model.
* project: 'my-project', // TODO: Update placeholder value.
*
* // The unique name for the predictive model.
* id: 'my-id', // TODO: Update placeholder value.
*
* auth: authClient,
* };
*
* prediction.trainedmodels.get(request, function(err, response) {
* if (err) {
* console.error(err);
* return;
* }
*
* // TODO: Change code below to process the `response` object:
* console.log(JSON.stringify(response, null, 2));
* });
* });
*
* function authorize(callback) {
* google.auth.getApplicationDefault(function(err, authClient) {
* if (err) {
* console.error('authentication failed: ', err);
* return;
* }
* if (authClient.createScopedRequired &&
* authClient.createScopedRequired()) { var scopes =
* ['https://www.googleapis.com/auth/cloud-platform']; authClient =
* authClient.createScoped(scopes);
* }
* callback(authClient);
* });
* }
* @alias prediction.trainedmodels.get
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.id The unique name for the predictive model.
* @param {string} params.project The project associated with the model.
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
get(params?: any, options?: MethodOptions): AxiosPromise<Schema$Insert2>;
get(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Insert2>, callback?: BodyResponseCallback<Schema$Insert2>): void;
/**
* prediction.trainedmodels.insert
* @desc Train a Prediction API model.
* @example
* * // BEFORE RUNNING:
* // ---------------
* // 1. If not already done, enable the Prediction API
* // and check the quota for your project at
* // https://console.developers.google.com/apis/api/prediction
* // 2. This sample uses Application Default Credentials for authentication.
* // If not already done, install the gcloud CLI from
* // https://cloud.google.com/sdk and run
* // `gcloud beta auth application-default login`.
* // For more information, see
* //
* https://developers.google.com/identity/protocols/application-default-credentials
* // 3. Install the Node.js client library by running
* // `npm install googleapis --save`
*
* var google = require('googleapis');
* var prediction = google.prediction('v1.6');
*
* authorize(function(authClient) {
* var request = {
* // The project associated with the model.
* project: 'my-project', // TODO: Update placeholder value.
*
* resource: {
* // TODO: Add desired properties to the request body.
* },
*
* auth: authClient,
* };
*
* prediction.trainedmodels.insert(request, function(err, response) {
* if (err) {
* console.error(err);
* return;
* }
*
* // TODO: Change code below to process the `response` object:
* console.log(JSON.stringify(response, null, 2));
* });
* });
*
* function authorize(callback) {
* google.auth.getApplicationDefault(function(err, authClient) {
* if (err) {
* console.error('authentication failed: ', err);
* return;
* }
* if (authClient.createScopedRequired &&
* authClient.createScopedRequired()) { var scopes =
* ['https://www.googleapis.com/auth/cloud-platform']; authClient =
* authClient.createScoped(scopes);
* }
* callback(authClient);
* });
* }
* @alias prediction.trainedmodels.insert
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.project The project associated with the model.
* @param {().Insert} params.resource Request body data
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
insert(params?: any, options?: MethodOptions): AxiosPromise<Schema$Insert2>;
insert(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Insert2>, callback?: BodyResponseCallback<Schema$Insert2>): void;
/**
* prediction.trainedmodels.list
* @desc List available models.
* @example
* * // BEFORE RUNNING:
* // ---------------
* // 1. If not already done, enable the Prediction API
* // and check the quota for your project at
* // https://console.developers.google.com/apis/api/prediction
* // 2. This sample uses Application Default Credentials for authentication.
* // If not already done, install the gcloud CLI from
* // https://cloud.google.com/sdk and run
* // `gcloud beta auth application-default login`.
* // For more information, see
* //
* https://developers.google.com/identity/protocols/application-default-credentials
* // 3. Install the Node.js client library by running
* // `npm install googleapis --save`
*
* var google = require('googleapis');
* var prediction = google.prediction('v1.6');
*
* authorize(function(authClient) {
* var request = {
* // The project associated with the model.
* project: 'my-project', // TODO: Update placeholder value.
*
* auth: authClient,
* };
*
* var handlePage = function(err, response) {
* if (err) {
* console.error(err);
* return;
* }
*
* var itemsPage = response['items'];
* if (!itemsPage) {
* return;
* }
* for (var i = 0; i < itemsPage.length; i++) {
* // TODO: Change code below to process each resource in `itemsPage`:
* console.log(JSON.stringify(itemsPage[i], null, 2));
* }
*
* if (response.nextPageToken) {
* request.pageToken = response.nextPageToken;
* prediction.trainedmodels.list(request, handlePage);
* }
* };
*
* prediction.trainedmodels.list(request, handlePage);
* });
*
* function authorize(callback) {
* google.auth.getApplicationDefault(function(err, authClient) {
* if (err) {
* console.error('authentication failed: ', err);
* return;
* }
* if (authClient.createScopedRequired &&
* authClient.createScopedRequired()) { var scopes =
* ['https://www.googleapis.com/auth/cloud-platform']; authClient =
* authClient.createScoped(scopes);
* }
* callback(authClient);
* });
* }
* @alias prediction.trainedmodels.list
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {integer=} params.maxResults Maximum number of results to return.
* @param {string=} params.pageToken Pagination token.
* @param {string} params.project The project associated with the model.
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
list(params?: any, options?: MethodOptions): AxiosPromise<Schema$List>;
list(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$List>, callback?: BodyResponseCallback<Schema$List>): void;
/**
* prediction.trainedmodels.predict
* @desc Submit model id and request a prediction.
* @example
* * // BEFORE RUNNING:
* // ---------------
* // 1. If not already done, enable the Prediction API
* // and check the quota for your project at
* // https://console.developers.google.com/apis/api/prediction
* // 2. This sample uses Application Default Credentials for authentication.
* // If not already done, install the gcloud CLI from
* // https://cloud.google.com/sdk and run
* // `gcloud beta auth application-default login`.
* // For more information, see
* //
* https://developers.google.com/identity/protocols/application-default-credentials
* // 3. Install the Node.js client library by running
* // `npm install googleapis --save`
*
* var google = require('googleapis');
* var prediction = google.prediction('v1.6');
*
* authorize(function(authClient) {
* var request = {
* // The project associated with the model.
* project: 'my-project', // TODO: Update placeholder value.
*
* // The unique name for the predictive model.
* id: 'my-id', // TODO: Update placeholder value.
*
* resource: {
* // TODO: Add desired properties to the request body.
* },
*
* auth: authClient,
* };
*
* prediction.trainedmodels.predict(request, function(err, response) {
* if (err) {
* console.error(err);
* return;
* }
*
* // TODO: Change code below to process the `response` object:
* console.log(JSON.stringify(response, null, 2));
* });
* });
*
* function authorize(callback) {
* google.auth.getApplicationDefault(function(err, authClient) {
* if (err) {
* console.error('authentication failed: ', err);
* return;
* }
* if (authClient.createScopedRequired &&
* authClient.createScopedRequired()) { var scopes =
* ['https://www.googleapis.com/auth/cloud-platform']; authClient =
* authClient.createScoped(scopes);
* }
* callback(authClient);
* });
* }
* @alias prediction.trainedmodels.predict
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.id The unique name for the predictive model.
* @param {string} params.project The project associated with the model.
* @param {().Input} params.resource Request body data
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
predict(params?: any, options?: MethodOptions): AxiosPromise<Schema$Output>;
predict(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Output>, callback?: BodyResponseCallback<Schema$Output>): void;
/**
* prediction.trainedmodels.update
* @desc Add new data to a trained model.
* @example
* * // BEFORE RUNNING:
* // ---------------
* // 1. If not already done, enable the Prediction API
* // and check the quota for your project at
* // https://console.developers.google.com/apis/api/prediction
* // 2. This sample uses Application Default Credentials for authentication.
* // If not already done, install the gcloud CLI from
* // https://cloud.google.com/sdk and run
* // `gcloud beta auth application-default login`.
* // For more information, see
* //
* https://developers.google.com/identity/protocols/application-default-credentials
* // 3. Install the Node.js client library by running
* // `npm install googleapis --save`
*
* var google = require('googleapis');
* var prediction = google.prediction('v1.6');
*
* authorize(function(authClient) {
* var request = {
* // The project associated with the model.
* project: 'my-project', // TODO: Update placeholder value.
*
* // The unique name for the predictive model.
* id: 'my-id', // TODO: Update placeholder value.
*
* resource: {
* // TODO: Add desired properties to the request body. All existing
* properties
* // will be replaced.
* },
*
* auth: authClient,
* };
*
* prediction.trainedmodels.update(request, function(err, response) {
* if (err) {
* console.error(err);
* return;
* }
*
* // TODO: Change code below to process the `response` object:
* console.log(JSON.stringify(response, null, 2));
* });
* });
*
* function authorize(callback) {
* google.auth.getApplicationDefault(function(err, authClient) {
* if (err) {
* console.error('authentication failed: ', err);
* return;
* }
* if (authClient.createScopedRequired &&
* authClient.createScopedRequired()) { var scopes =
* ['https://www.googleapis.com/auth/cloud-platform']; authClient =
* authClient.createScoped(scopes);
* }
* callback(authClient);
* });
* }
* @alias prediction.trainedmodels.update
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.id The unique name for the predictive model.
* @param {string} params.project The project associated with the model.
* @param {().Update} params.resource Request body data
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
update(params?: any, options?: MethodOptions): AxiosPromise<Schema$Insert2>;
update(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Insert2>, callback?: BodyResponseCallback<Schema$Insert2>): void;
}