googleapis
Version:
Google APIs Client Library for Node.js
389 lines (388 loc) • 11.2 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';
/**
* APIs Discovery Service
*
* Provides information about other Google APIs, such as what APIs are
* available, the resource, and method details for each API.
*
* @example
* const google = require('googleapis');
* const discovery = google.discovery('v1');
*
* @namespace discovery
* @type {Function}
* @version v1
* @variation v1
* @param {object=} options Options for Discovery
*/
export declare class Discovery {
_options: GlobalOptions;
google: GoogleApis;
root: this;
apis: Resource$Apis;
constructor(options: GlobalOptions, google: GoogleApis);
getRoot(): this;
}
export interface Schema$DirectoryList {
/**
* Indicate the version of the Discovery API used to generate this doc.
*/
discoveryVersion: string;
/**
* The individual directory entries. One entry per api/version pair.
*/
items: any[];
/**
* The kind for this response.
*/
kind: string;
}
export interface Schema$JsonSchema {
/**
* A reference to another schema. The value of this property is the
* "id" of another schema.
*/
$ref: string;
/**
* If this is a schema for an object, this property is the schema for any
* additional properties with dynamic keys on this object.
*/
additionalProperties: Schema$JsonSchema;
/**
* Additional information about this property.
*/
annotations: any;
/**
* The default value of this property (if one exists).
*/
default: string;
/**
* A description of this object.
*/
description: string;
/**
* Values this parameter may take (if it is an enum).
*/
enum: string[];
/**
* The descriptions for the enums. Each position maps to the corresponding
* value in the "enum" array.
*/
enumDescriptions: string[];
/**
* An additional regular expression or key that helps constrain the value. For
* more details see:
* http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23
*/
format: string;
/**
* Unique identifier for this schema.
*/
id: string;
/**
* If this is a schema for an array, this property is the schema for each
* element in the array.
*/
items: Schema$JsonSchema;
/**
* Whether this parameter goes in the query or the path for REST requests.
*/
location: string;
/**
* The maximum value of this parameter.
*/
maximum: string;
/**
* The minimum value of this parameter.
*/
minimum: string;
/**
* The regular expression this parameter must conform to. Uses Java 6 regex
* format:
* http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
*/
pattern: string;
/**
* If this is a schema for an object, list the schema for each property of
* this object.
*/
properties: any;
/**
* The value is read-only, generated by the service. The value cannot be
* modified by the client. If the value is included in a POST, PUT, or PATCH
* request, it is ignored by the service.
*/
readOnly: boolean;
/**
* Whether this parameter may appear multiple times.
*/
repeated: boolean;
/**
* Whether the parameter is required.
*/
required: boolean;
/**
* The value type for this schema. A list of values can be found here:
* http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
*/
type: string;
/**
* In a variant data type, the value of one property is used to determine how
* to interpret the entire entity. Its value must exist in a map of
* descriminant values to schema names.
*/
variant: any;
}
export interface Schema$RestDescription {
/**
* Authentication information.
*/
auth: any;
/**
* [DEPRECATED] The base path for REST requests.
*/
basePath: string;
/**
* [DEPRECATED] The base URL for REST requests.
*/
baseUrl: string;
/**
* The path for REST batch requests.
*/
batchPath: string;
/**
* Indicates how the API name should be capitalized and split into various
* parts. Useful for generating pretty class names.
*/
canonicalName: string;
/**
* The description of this API.
*/
description: string;
/**
* Indicate the version of the Discovery API used to generate this doc.
*/
discoveryVersion: string;
/**
* A link to human readable documentation for the API.
*/
documentationLink: string;
/**
* The ETag for this response.
*/
etag: string;
/**
* Enable exponential backoff for suitable methods in the generated clients.
*/
exponentialBackoffDefault: boolean;
/**
* A list of supported features for this API.
*/
features: string[];
/**
* Links to 16x16 and 32x32 icons representing the API.
*/
icons: any;
/**
* The ID of this API.
*/
id: string;
/**
* The kind for this response.
*/
kind: string;
/**
* Labels for the status of this API, such as labs or deprecated.
*/
labels: string[];
/**
* API-level methods for this API.
*/
methods: any;
/**
* The name of this API.
*/
name: string;
/**
* The domain of the owner of this API. Together with the ownerName and a
* packagePath values, this can be used to generate a library for this API
* which would have a unique fully qualified name.
*/
ownerDomain: string;
/**
* The name of the owner of this API. See ownerDomain.
*/
ownerName: string;
/**
* The package of the owner of this API. See ownerDomain.
*/
packagePath: string;
/**
* Common parameters that apply across all apis.
*/
parameters: any;
/**
* The protocol described by this document.
*/
protocol: string;
/**
* The resources in this API.
*/
resources: any;
/**
* The version of this API.
*/
revision: string;
/**
* The root URL under which all API services live.
*/
rootUrl: string;
/**
* The schemas for this API.
*/
schemas: any;
/**
* The base path for all REST requests.
*/
servicePath: string;
/**
* The title of this API.
*/
title: string;
/**
* The version of this API.
*/
version: string;
version_module: boolean;
}
export interface Schema$RestMethod {
/**
* Description of this method.
*/
description: string;
/**
* Whether this method requires an ETag to be specified. The ETag is sent as
* an HTTP If-Match or If-None-Match header.
*/
etagRequired: boolean;
/**
* HTTP method used by this method.
*/
httpMethod: string;
/**
* A unique ID for this method. This property can be used to match methods
* between different versions of Discovery.
*/
id: string;
/**
* Media upload parameters.
*/
mediaUpload: any;
/**
* Ordered list of required parameters, serves as a hint to clients on how to
* structure their method signatures. The array is ordered such that the
* "most-significant" parameter appears first.
*/
parameterOrder: string[];
/**
* Details for all parameters in this method.
*/
parameters: any;
/**
* The URI path of this REST method. Should be used in conjunction with the
* basePath property at the api-level.
*/
path: string;
/**
* The schema for the request.
*/
request: any;
/**
* The schema for the response.
*/
response: any;
/**
* OAuth 2.0 scopes applicable to this method.
*/
scopes: string[];
/**
* Whether this method supports media downloads.
*/
supportsMediaDownload: boolean;
/**
* Whether this method supports media uploads.
*/
supportsMediaUpload: boolean;
/**
* Whether this method supports subscriptions.
*/
supportsSubscription: boolean;
/**
* Indicates that downloads from this method should use the download service
* URL (i.e. "/download"). Only applies if the method supports media
* download.
*/
useMediaDownloadService: boolean;
}
export interface Schema$RestResource {
/**
* Methods on this resource.
*/
methods: any;
/**
* Sub-resources on this resource.
*/
resources: any;
}
export declare class Resource$Apis {
root: Discovery;
constructor(root: Discovery);
getRoot(): Discovery;
/**
* discovery.apis.getRest
* @desc Retrieve the description of a particular version of an api.
* @alias discovery.apis.getRest
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.api The name of the API.
* @param {string} params.version The version of the API.
* @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
*/
getRest(params?: any, options?: MethodOptions): AxiosPromise<Schema$RestDescription>;
getRest(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$RestDescription>, callback?: BodyResponseCallback<Schema$RestDescription>): void;
/**
* discovery.apis.list
* @desc Retrieve the list of APIs supported at this endpoint.
* @alias discovery.apis.list
* @memberOf! ()
*
* @param {object=} params Parameters for request
* @param {string=} params.name Only include APIs with the given name.
* @param {boolean=} params.preferred Return only the preferred version of an API.
* @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$DirectoryList>;
list(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$DirectoryList>, callback?: BodyResponseCallback<Schema$DirectoryList>): void;
}